守护线程

2019-03-24  本文已影响0人  迷糊小生

在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线程会自动销毁,也就不会继续打印了");
    }
}
image.png

由此可见当非守护线程全部销毁后,其守护线程还会继续运行一段时间然后自动销毁。

上一篇下一篇

猜你喜欢

热点阅读