2021-01-22 主线程与守护线程

2021-01-25  本文已影响0人  Denholm

默认情况下,Java 进程需要等待所有线程都运行结束,才会结束。有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。

Thread t1 = new Thread(() -> {
            while (true) {
                if (Thread.currentThread().isInterrupted()) {
                    break;
                }
            }
            log.debug("结束");
        }, "t1");
        t1.setDaemon(true);
        t1.start();

        Thread.sleep(1000);
        log.debug("结束");

注意
1.垃圾回收器线程就是一种守护线程
2.Tomcat 中的 Acceptor 和 Poller 线程都是守护线程,所以 Tomcat 接收到shutdown命令后,不会等待它们处理完当前请求

上一篇 下一篇

猜你喜欢

热点阅读