JAVA 後臺線程

1.定義:

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

2.優先級:

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

3.設置:

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

4.Daemon:

在Daemon線程中產生的新線程也是Daemon的。

5.級別:

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

6.example:

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

7.生命週期:

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

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