守護線程, 是指在程序運行的時候在后臺提供一種通用服務的線程, 比如垃圾回收線程就是一個很稱職的守護者, 并且這種線程并不屬于程序中不可或缺的部分. 因此, 當所有的非守護線程結(jié)束時, 程序也就終止了, 同時會殺死進程中的所有守護線程. 反過來說, 只要任何非守護線程還在運行, 程序就不會終止.
用戶線程和守護線程兩者幾乎沒有區(qū)別, 唯一的不同之處就在于虛擬機的離開: 如果用戶線程已經(jīng)全部退出運行了, 只剩下守護線程存在了, 虛擬機也就退出了.
將線程轉(zhuǎn)換為守護線程可以通過調(diào)用Thread對象的setDaemon(true)方法來實現(xiàn).