守护线程会跟随主线程或父线程的死亡而死亡,守护线程的设置必须在start()之前
public class DaemonTest {
public static void main(String[] args) {
Thread t1 = new Thread(){
@Override
public void run() {
Thread t2 =new Thread(()->{
try {
for (int i=0;i<10;i++){
Thread.sleep(1_000);
System.out.println("t2->running……");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
});
t2.setDaemon(true);//设置t2为守护线程
t2.start();
System.out.println("t1->running……");
}
};
t1.start();
}
}
代码中**System.out.println("t2->running……");**的执行次数是0