在java线程中有两种线程,一种是用户线程,另一种是守护线程。
守护线程是一种特殊的线程,当进程中不存在非守护线程了,守护线程也会自动销毁。典型的守护线程就是垃圾回收线程,当进程中没有非守护线程了,则垃圾回收线程也就没有存在的必要了。Daemon的作用就是为了其他线程的运行提供便利服务。
public class GuardThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 50000; i++) {
System.out.println(i);
}
}
}
public class Test {
public static void main(String[] args) throws InterruptedException {
GuardThread it = new GuardThread();
it.setDaemon(true);//设置为当前线程的守护线程
it.start();
Thread.sleep(200);
System.out.println("main线程结束,it线程会自动销毁,也就不会继续打印了");
}
}