我正在創建的程序需要一個線程對象數組。更具體地說,我有一個擴展線程的類。我這樣做是爲了讓每個新創建的對象都在自己的線程上運行。如果我想殺死線程並將其從數組元素中移除,那麼我可以在該空間中創建一個新的線程對象,那麼我該怎麼做?這是我的想法。如何從數組中刪除線程對象?
我明白,刪除對線程的引用並不會實際上停止線程。要做到這一點,我首先需要中斷線程。要從數組中刪除線程對象,我可以簡單地將它設置爲空嗎? I .: .:
array[i].interrupt();
array[i] = null;
然後,我將能夠在該空間中創建一個新的線程?
array[i] = new Thread();
假設Thread對象的run方法處理中斷正常等
什麼阻止你嘗試?中斷與停止不同。 – f1sh
這應該可行,但要確保線程在創建新線程之前已停止,可以在將元素設置爲null之前執行array [i] .join()。 –
你可以分享你的需求,爲什麼你需要一個線程對象數組? – marknorkin