Java ThreadGroup setDaemon()方法

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

上一篇: Java線程組 下一篇: Java關閉掛鉤(shutdown hook)