我創建一個線程是這樣的:我應該廢止一箇中斷的線程嗎?
private Thread t = new Thread() {
@Override
public void run() {
try {
while(true) {
// do work
Thread.sleep(1000);
}
} catch (InterruptedException ex) {
}
}
};
t.start();
然後我就用t.interrupt()
中斷。
一旦線程停止並獲得睡眠(),它會中斷並變得不可用,但將它留在記憶?
我一定打電話給t = null
,或GC將採取照顧?
我試圖動態地中斷線程,並在需要時重新創建它(使用t = new Thread()
),但我不知道如果只是中斷()從內存中刪除舊線程。我已經搜索,但無法找到這個特定的答案。
'中斷()'只是告訴他已經被打斷,沒有「黑魔法」背後的線程。 – Smutje