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