我正在使用 ExecutorService 执行 n 个Runnable
任务(不可调用)。
我想等待所有任务完成。
我不能使用invokeAll
- 因为它适用于 Callables 的集合。
我不能使用shutdown()+awaitTermination
,因为 awaittermination 需要提供一个超时时间,但我的任务可能需要几个小时才能完成。
我可以用:
ExecutorService.shutdown();
while (!ExecutorService.isTerminated()) {}
但是这个循环总是会被触发。
在这种情况下有什么建议?