每个结果的ExecutorService.invokeAll vs Future.get - 差异

时间:2014-12-06 14:03:57

标签: java multithreading concurrency

不合适的标题抱歉。我想等到所有thread的状态结果。我可以使用ExecutorService.invokeAll执行此操作并调用future.get() //等待for循环的结果,如果两者都提供相同的功能,那么为什么有两个不同的函数,请告诉我是否有任何其他不同的提交collection中的任务。

1 个答案:

答案 0 :(得分:0)

他们不做同样的事情。 invokeall方法是执行任务的方法,并将阻塞直到所有任务完成(成功与否)。完成所有任务后,它会返回一份期货清单。然后,您可以为这些期货中的每一个调用future.get()来获取结果(或者对于那些未成功完成的任务执行ExecutionException)