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)