Java線程分類

l Java將線程分爲User線程和Daemon線程兩種。

l 程序的main()方法線程是一個User進程。User進程創建的進程爲User進程。

通常Daemon線程用來爲User線程提供某些服務。

l 通過在一個線程對象上調用setDaemon(true),可以將user線程創建的線程明確地設置成Daemon線程。通常新創建的線程會從創建它的進程哪裏繼承daemon狀態,除非明確地在線程對象上調用setDaemon方法來改變daemon狀態。

l  需要注意的是,setDaemon()方法必須在調用線程的start()方法之前調用。一旦一個線程開始執行(如,調用了start()方法),它的daemon狀態不能再修改。通過方法isDaemon()可以知道一個線程是否Daemon線程。

l  他們在幾乎每個方面都是相同的,唯一的區別是判斷虛擬機何時離開:

用戶線程:Java虛擬機隨着用戶線程的結束自動結束。

守護線程:守護線程則是用來服務用戶線程的,如果沒有其他用戶線程在運行,那麼就沒有可服務對象,也就沒有理由繼續下去,就是守護線程沒結束而用戶線程結束以後,虛擬機也會馬上停止。
發佈了21 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章