代码如下:
package java2;
public class TestDeamon {
//这个只测试守护线程在主程序结束后会自动消失
public static void main(String[] args) {
Thread deamonThread =new Thread(new Runnable() {
@Override
public void run() {
// TODO 自动生成的方法存根
while(true) {
System.out.println("hi Daemon");
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
});
//设置守护线程
//守护线程:用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。 因为没有了被守护者,守护线程也就没有工作可做了,也就没有继续运行程序的必要了
//就是主程序运行完了,用守护线程这个线程就会结束了,不然会一直一直运行下去
deamonThread.setDaemon(true);//必须在开始运行前设置
deamonThread.start();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println("main thread is over!");
}
}