對於memeory usuage是一個死亡線程的威脅?它最終會得到GC嗎?死亡線程是內存泄漏的威脅嗎?
4
A
回答
7
如果任何其他對象的引用都無法訪問,則GC將收集一個死線程作爲任何其他對象。設置全部指向它的變量爲null
應使其可供GC收集。
對內存使用的威脅......它取決於您在其中使用了多少內存 - 以及對其他對象實例(列表,哈希表,...)的引用次數。內存使用與其他任何類型的對象完全相同。
1
很明顯,如果你的代碼仍然有引用,線程對象仍然存在,你不能重新啓動它,但它仍然是一個可用的java對象(抱歉,如果這太明顯了,最好先消除它;-))
在這裏發生了同樣的討論。
http://www.coderanch.com/t/531074/threads/java/dead-thread-threat-memory-leak
1
設置線程對象爲null應保證GC死線程對象。
1
只是把所有你不再使用的資源休息,把它放到null
更安全,然後抱歉。 GC會挑選它。