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