ExecutorService所有線程執行后繼續主線程


ExecutorService線程池創建后如果需要數據完成后繼續執行主線程。

網上查詢出的答案都是死循環用isTerminated方法判斷是否已完成所有線程,多次嘗試這種方法都無法關閉,主線程就停了不往下執行。原因:isTerminated方法執行前必須使用shutdown方法否則無法為true。

1 ExecutorService exe = Executors.newFixedThreadPool(50);// 設置線程池
2 exe.shutdown();// 禁止新建線程,老線程繼續執行
3 while (true) {
4     if (exe.isTerminated()) {
5         break;
6     }
7     Thread.sleep(1000);
8 }

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM