多執行緒如何判斷全部執行緒是否已經全部結束?

2022-04-23 10:20:21 字數 613 閱讀 8719

提問者: 旺旺**

|瀏覽次數:1904次

class readfilethread implements runnable

public void readfilethread(int i)

catch(exception e)

} public void run()

catch(exception e)

}}public class textthread }}

以上程式使十個程序開始讀10個檔案,乙個程序讀乙個檔案,現在有乙個問題就是如何判斷十個程序都已經結束。要用stop人為結束嗎?還是程序執行完了自動結束。最主要的還是判斷十個程序是否都已結束

問題補充:

但是執行完了我用isalive屬性來判斷,程序還是處於runable

滿意回答

在class readfilethread implements runnable

然後執行緒結束的時候這樣增加乙個

finally

try

catch(exception e) finalliy}}

在main函式中當

while(true)

}

如何確保多執行緒已經全部執行完成

利用countdownlatch閉鎖實現。countdownlatch可以使乙個或多個執行緒等待一組事件的發生,閉鎖狀態包含乙個計數器,該計數器被初始化為乙個正數,表示需要等待事件的數量。發揮主要作用的兩個方法分別是 countdown 遞減計數器,表示乙個事件已經發生了 await 等待計數器達到...

如何確保多執行緒已經全部執行完成

利用countdownlatch閉鎖實現。countdownlatch可以使乙個或多個執行緒等待一組事件的發生,閉鎖狀態包含乙個計數器,該計數器被初始化為乙個正數,表示需要等待事件的數量。發揮主要作用的兩個方法分別是 countdown 遞減計數器,表示乙個事件已經發生了 await 等待計數器達到...

判斷執行緒是否全部結束

第一種 使用executorservice.isterminated executorservice cachedthreadpool executors.newcachedthreadpool cachedthreadpool submit new callable cachedthreadpoo...