天天看点

《Java多线程编程核心技术》——1.11节守护线程

本节书摘来自华章社区《java多线程编程核心技术》一书中的第1章,第1.11节守护线程,作者高洪岩,更多章节内容可以访问云栖社区“华章社区”公众号查看

1.11 守护线程

在java线程中有两种线程,一种是用户线程,另一种是守护线程。

守护线程是一种特殊的线程,它的特性有“陪伴”的含义,当进程中不存在非守护线程了,则守护线程自动销毁。典型的守护线程就是垃圾回收线程,当进程中没有非守护线程了,则垃圾回收线程也就没有存在的必要了,自动销毁。用个比较通俗的比喻来解释一下“守护线程”:任何一个守护线程都是整个jvm中所有非守护线程的“保姆”,只要当前jvm实例中存在任何一个非守护线程没有结束,守护线程就在工作,只有当最后一个非守护线程结束时,守护线程才随着jvm一同结束工作。daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是gc(垃圾回收器),它就是一个很称职的守护者。

创建项目daemonthread,文件mythread.java代码如下:

程序运行后的效果如图1-60所示。

《Java多线程编程核心技术》——1.11节守护线程