什么是 Daemon 线程?它有什么意义?

摘要:
所谓后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这个线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束时,程序也就终止了,同时会杀死进程中的所有后台线程。必须在线程启动之前调用setDaemon()方法,才能把它设置为后台线程。

所谓后台(daemon)线程,是指在程序运行的时候在后台提供一种通用服务的线

程,并且这个线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程

结束时,程序也就终止了,同时会杀死进程中的所有后台线程。反过来说,

只要有任何非后台线程还在运行,程序就不会终止。必须在线程启动之前调用

setDaemon()方法,才能把它设置为后台线程。注意:后台进程在不执行 finally

子句的情况下就会终止其 run()方法。

比如:JVM 的垃圾回收线程就是 Daemon 线程,Finalizer 也是守护线程。

免责声明:文章转载自《什么是 Daemon 线程?它有什么意义?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Sql 递归查询coredns 代理consul 运行noamd 部署的应用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用消息和消息队列

参考:http://msdn.microsoft.com/en-us/library/windows/desktop/ms644928(v=vs.85).aspx 下面的代码示例演示如何执行与窗口消息和消息队列有关的任务: 创建消息循环 检查消息队列 寄送消息 发送消息 一 创建消息循环 系统不会自动为每个线程创建消息队列,而是只在线程执行那些需要消息...

排查Java高CPU占用原因

近期java应用,CPU使用率一直很高,经常达到100%,通过以下步骤完美解决,分享一下。 方法一: 转载:http://www.linuxhot.com/java-cpu-used-high.html 1.jps 获取Java进程的PID。 2.jstack pid >> java.txt 导出CPU占用高进程的线程栈。 3.top -H...

Android学习——后台程序

Android学习——后台程序 在Android系统中我们一直在接触着前台界面程序,其实在一开始接触Android时就听说了,程序就有有界面和无界面之分。后台程序就是这类无界面的程序,它在后台执行,没有影响你的界面。比如短信监听程序,执行在后台,当有短信时才给你们提示,振动或声音;比如闹钟,设定好时间后,在定时通知你;再比如mp3播放器,选择好音乐后,在待...

zip4j实现多线程压缩

使用的jar包:zip4j_1.3.2.jar 基本功能: 针对ZIP压缩文件创建、添加、分卷、更新和移除文件 (读写有密码保护的Zip文件) (支持AES 128/256算法加密) (支持标准Zip算法加密) (支持zip64格式) (支持Store(仅打包,默认不压缩,不过可以手动设置大小)和Deflate压缩方法 (针对分块zip文件...

js与Nodejs的单线程和异步--初探

Event Loop Event Loop : 浏览器使用 Event Loop 来协调 DOM 事件、UI 渲染、脚本执行和网络事件等。 Task Queue (Event Queue) :每当 DOM 事件、计时器事件或者网络事件被触发时,它们的回调函数和 Context 都会被压入 Event Queue,而 Event Loop 则会从中取出...

libevent 和 libev 提高网络应用性能

构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。有许多解决方 案,但是 libevent 库和 libev 库能够大大提高性能和事件处理能力。在本文中,我们要讨论在 UNIX® 应用程序中使用和部署这些解决方案所用的基本结构和方法。libev 和 libevent 都可以在高...