Java中有种线程会随着主线程的结束而结束,无论该线程中的代码是否执行完成,比如垃圾回收器线程。用setDaemon方法设置其为守护线程。示例如下:
public class DeamonThread {
public static void main(String[] args) throws InterruptedException {
Thread t=new Thread(){
@Override
public void run() {
while (true){
if (Thread.currentThread().isInterrupted()){
break;
}
}
}
};
t.setDaemon(true);
t.start();
Thread.sleep(1000);
System.out.println("结束");
}
}
下图为运行结果:两线程同时结束,尽管t线程是一个死循环。