如何并行运行一组任务并等到所有这些任务完成java并发工具?

Rom*_*man 3 java concurrency java.util.concurrent

我有N个任务,我希望它们与N个线程并行处理.我想等到所有任务完成,存储结果,然后运行下N个任务(依次循环).

来自java util并发的哪些抽象可以帮助我?

我查看了ExecutorService.invokeAll(),但是它返回了一个期货列表,所以我应该循环遍历它们直到所有这些完成.

我想,应该有更简单的方法来计算一组任务.

Joh*_*int 6

ExecutorService.invokeAll() 这可能是最直接的方式.

您不会迭代它们中的任何一个以等待完成. invokeAll只有在完成所有这些操作后才会返回.因此,当您可以迭代它们时,get将立即返回.