2014-11-21 47 views
0

我正在創建一個java桌面應用程序,它從另一個JFrame中打開一個新的JFrame(在一個線程內)。有沒有辦法從內存中刪除線程?Java - 從內存中刪除線程

+1

你只是想關閉第二個'JFrame'? – 2014-11-21 15:19:13

+0

是的,我想關閉第二個JFrame – user3276091 2014-11-22 11:37:32

回答

5

線程不是Java對象。這是一個本地資源(執行線程)。線程完成運行代碼後將立即「從內存中移除」。

從Java的角度來看,只要其run()方法完成,線程就會死機。

至於Thread負責執行某個特定線程的實例,它的行爲與任何其他Java對象一樣,只要沒有對它的引用存在(並且底層線程沒有活動),它就可以由垃圾收集器回收, 。

1

沒有辦法從內存中實際刪除一個Thread對象。與其他任何對象一樣,如果沒有對它的引用,它將在下一次gc運行時被垃圾收集。