在Java中有兩類線程:用戶線程
(User
Thread)、守護線程
(Daemon
Thread)。
所謂守護
線程,是指在程序運行的時候在後臺提供壹種通用服務的線程,比如垃圾回收線程就是壹個很稱職的守護者,並且這種線程並不屬於程序中不可或缺的部分。因此,當所有的非守護線程結束時,程序也就終止了,同時會殺死進程中的所有守護線程。反過來說,只要任何非守護線程還在運行,程序就不會終止。
用戶線程和守護線程兩者幾乎沒有區別,唯壹的不同之處就在於虛擬機的離開:如果用戶線程已經全部退出運行了,只剩下守護線程存在了,虛擬機也就退出了。
因為沒有了被守護者,守護線程也就沒有工作可做了,也就沒有繼續運行程序的必要了。
希望幫到妳