爲什麼要將線程設置成分離狀態

可結合線程和可分離線程的區別
     在任意一個時間點上,一個線程是可結合的,或者是可分離的。一個可結合的線程是可以被其他進程回收資源或者殺死的,在其他線程被回收之前,他的存儲器資源(如棧)是不會被回收的。一個可分離的線程是不可以被其他線程回收資源或者殺死的,他的存儲器資源在他終止的時候可以由系統自動釋放。

創建線程後的默認狀態
     在一個進程中創建線程,默認的狀態是可結合的,這時候,線程必須等待原有的進程結束後纔算是線程終止,這個時候才能被回收他的資源。我們一般不關心線程的終止狀態,所以一般在創建線程結束以後,就可以把線程設置成分離狀態,這時候的線程不被其他線程所等待,當線程運行結束終止以後,他會自動釋放自己所佔用的資源。     

爲什麼要將線程設置成分離狀態
     爲了在使用線程的時候,避免線程的資源得不到正確的釋放,從而導致了內存泄漏的問題。所以要確保進程爲可分離的的狀態,否則要進行線程等待已回收他的資源。


發佈了186 篇原創文章 · 獲贊 27 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章