最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

Java并发(十)----线程之守护线程 今日讯

来源:博客园


【资料图】

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

例:

log.debug("开始运行...");Thread t1 = new Thread(() -> {  log.debug("开始运行...");  sleep(2);  log.debug("运行结束...");}, "daemon");// 设置该线程为守护线程t1.setDaemon(true);t1.start();​sleep(1);log.debug("运行结束...");

输出

08:26:38.123 [main] c.TestDaemon - 开始运行...08:26:38.213 [daemon] c.TestDaemon - 开始运行...08:26:39.215 [main] c.TestDaemon - 运行结束...

注意

  • 垃圾回收器线程就是一种守护线程

  • Tomcat 中的 Acceptor 和 Poller 线程都是守护线程,所以 Tomcat 接收到 shutdown 命令后,不会等待它们处理完当前请求

关键词: