【Java 多線程併發】Java 後臺線程

Java 後臺線程

1.定義:守護線程——也稱“服務線程”,他是後臺線程,它有一個特性,即爲用戶線程提供公共服務,在沒有用戶線程可服務時會自動離開。

2.優先級:守護線程的優先級比較低,用於爲系統中的其他對象和線程提供服務。

3.設置:通過 setDaemon(true) 來設置線程爲“守護線程”;將一個用戶線程設置爲守護線程的方式是在線程對象創建之前用線程對象的 setDaemon 方法。

4.在 Daemon 線程中產生的新線程也是 Daemon 的

5.線程則是 JVM 級別的,以 Tomcat 爲例,如果你在 Web 應用中啓動一個線程,這個線程的生命週期並不會和 Web 應用程序保持同步。也就是說,即使你停止了 Web 應用,這個線程依舊是活躍的。

6.example:垃圾回收線程就是一個經典的守護線程,當我們的程序中不再有任何與運行的 Thread,程序就不會再產生垃圾,垃圾回收器也就無事可做,所以當垃圾回收線程是 JVM 上僅剩的線程時,垃圾回收線程會自動離開。它始終在低級別的狀態中運行,用於實時監控和管理系統中的可回收資源。

7.生命週期:守護線程(Daemon)是運行在後臺的一種特殊進程。它獨立於控制終端並且週期性進行某種任務或等待某些發生的事件。也就是說守護線程不依賴於終端,但是依賴於系統,與系統“同生共死”。當 JVM 中所有的線程都是守護線程的時候,JVM 就可以退出了;如果還有一個或以上的非守護線程則 JVM 不會退出。

 

PS:文章內容和圖片通過網上收集、整理、潤色,侵刪!

不管做什麼,只要堅持下去就會不一樣!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章