我使用ExecutorService执行了n个Runnable
任务(不是Callable)。等待完成ExecutorService中Runnable任务的有效方法
我想等待所有任务完成。我不能使用invokeAll
- 因为它适用于收集可卡因。
我不能使用shutdown()+awaitTermination
,因为候诊需要提供暂停,但我的任务可能需要几小时才能完成。
我可以使用:
ExecutorService.shutdown();
while (!ExecutorService.isTerminated()) {}
但这个循环将始终触发。
这种情况下有什么建议?
在我的文章中,我特别写了为什么我不能使用它。 – yuris 2013-05-02 06:35:13
对,修正了我的答案 – 2013-05-02 06:43:58
在我的Java版本中,TimeUnit没有HOUR或DAY – yuris 2013-05-02 06:51:27