在程序后台执行的线程,当程序结束时,守护线程也结束。
程序结束:所有的非守护线程结束。
package com.javawu.daemon;
public class Demo1 {
public static void main(String[] args) throws InterruptedException {
// TODO 自动生成的方法存根
SoftUpdateCheck softUpdateCheck = new SoftUpdateCheck();
Thread thread = new Thread(softUpdateCheck);
#设置为守护线程
thread.setDaemon(true);
#判断是否是守护线程
thread.isDaemon();
thread.start();
Thread.sleep(200);
System.out.println("程序退出");
}
}
class SoftUpdateCheck implements Runnable {
@Override
public void run() {
// TODO 自动生成的方法存根
int i = 10;
while(i <= 100) {
System.out.println("正在检测是否有更新...");
i += 10;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
网友评论