我有一個HashMap刪除正在運行的線程,我想從它刪除特定正在運行的線程,我想線程繼續做一些處理,然後將被銷燬,任何人都知道會發生什麼時正在運行的線程從散列表中刪除?從一個HashMap
回答
的人都知道,當正在運行的線程從HashMap中去掉會發生什麼?
線程將繼續運行,直到它完成其run
方法。換句話說,它會在完成時完成。
參考:Life cycle of a thread in Java
額外:
同樣的情況在下面的例子。
new Thread(runnableObject).start();
這個線程會在後臺運行,直到runnableObject
終止。
非常感謝所有人。 – stackmalux
不客氣。 – Zack
同意,你的線程將繼續運行,直到方法的run()結束。
嘗試此代碼:
//Create the HashMap
HashMap<String, Thread> map = new HashMap<String, Thread>();
//Create a task
Runnable task =() -> {
while (true) {
System.out.println("Tick " + System.currentTimeMillis());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
//Create a thread with the task
Thread t = new Thread(task);
//Add this thread into the map
map.put("KEY", t);
//Start this thread
t.start();
//Add this thread into the map
map.remove("KEY");
我的代碼沒有任何問題,我的程序工作正常。 – stackmalux
非常感謝您分享您的代碼。 – stackmalux
- 1. ListAdapter從一個HashMap
- 2. 獲得一個HashMap中從一個HashMap信息
- 3. 如何設置從一個hashmap到另一個hashmap的值?
- 4. 印刷只有一個從一個HashMap
- 5. 添加到一個HashMap一個HashMap
- 6. 從TestNg DataProvider返回一個HashMap問題
- 7. Golang:從一個HashMap W /互斥
- 8. 從hashmap寫入一個txt文件
- 9. HashMap中刪除本身是一個HashMap
- 10. 陣列的HashMap的一個HashMap的
- 11. 一個HashMap添加到包含HashMap
- 12. 實現一個HashMap
- 13. 組織一個hashmap
- 14. 獲得一個HashMap
- 15. ConcurrentModificationException和一個HashMap
- 16. 使用一個HashMap
- 17. 鑄造一個HashMap
- 18. 添加一個HashMap作爲一個值的HashMap
- 19. 如何將一個hashmap內容複製到另一個hashmap
- 20. Ecore建模生成一個HashMap dto持有一個HashMap
- 21. 從一個鍵移動值到另一個HashMap中
- 22. 從一個HashMap拷貝到另一個而不使用putAll()
- 23. 如何從一個模糊的hashmap創建一個javax.json.JsonObject?
- 24. 如何從一個演員傳遞HashMap來另一個
- 25. 刪除一個給定值的所有項目從一個HashMap
- 26. 通過一個ArrayList一個HashMap迭代
- 27. 想要存儲一個HashMap?
- 28. 遞增一個HashMap的Java
- 29. 將一個HashMap放在一個HashMap中,然後填充這兩個地圖。
- 30. 從HashMap中不能檢索值HashMap中的另一個內嵌內
甲參照'Thread'是從* Java中的任何其它參考類型*沒有什麼不同。 – CKing
所以你的意思是線程不會繼續處理,垃圾回收器會擺脫它? – stackmalux
是的。如果'Thread'沒有被其他地方引用,'Thread'完成執行它的'run'方法。 – CKing