Java ThreadGroup setDaemon()方法

2019-10-16 22:24:03

ThreadGroup類的setDaemon()方法測試執行緒組是否是守護程式執行緒組。

語法:

public final void setDaemon(boolean daemon)

引數

  • daemon:如果為true,則將執行緒組標記為守護程式執行緒組; 否則,將執行緒組標記為正常。

異常

  • SecurityException:如果當前執行緒無法修改執行緒組。

範例

class NewThread extends Thread   
{  
    NewThread(String threadname, ThreadGroup tg)  
    {  
        super(tg, threadname);  
    }  
    public void run()  
    {  
        for(int i = 0;i < 10;i++)   
        {  
            i++;  
        }  
        System.out.println(Thread.currentThread().getName() + " completed executing");  
    }  
}  
public class ThreadGroupSetDaemonExp   
{  
    public static void main(String arg[]) throws InterruptedException,  
        SecurityException, Exception  
    {  
        // creating a parent threadGroup  
        ThreadGroup tg1 = new ThreadGroup("Parent thread");  
        tg1.setDaemon(true);  

        // creating a child threadGroup   
        ThreadGroup tg2 = new ThreadGroup(tg1, "Child thread");  
        tg2.setDaemon(false);  

        // creating a thread   
        NewThread t1 = new NewThread("Thread-1", tg1);  
        t1.start();  

       // creating another thread   
        NewThread t2 = new NewThread("Thread-2", tg2);  
        t2.start();  

        // returns true if this thread group is a daemon thread group  
        System.out.println("Is " + tg1.getName() + " a daemon threadGroup? " + tg1.isDaemon());  
        System.out.println("Is " + tg2.getName() + " a daemon threadGroup? " + tg2.isDaemon());  
    }  
}

執行上面範例程式碼,得到以下結果:

Is Parent thread a daemon threadGroup? true
Is Child thread a daemon threadGroup? false
Thread-1 completed executing
Thread-2 completed executing