我有 N 个任务,我希望它们与 N 个线程并行处理。 我想等到所有任务都完成后,存储结果,然后运行下 N 个任务(以此类推循环)。
java util 并发的哪些抽象可以帮助我?
我查看了 ExecutorService.invokeAll()
,但它返回了一个 futures 列表,所以我应该在一个循环中迭代所有这些,直到所有这些都完成。
我想,应该有更直接的方法来计算一组任务。
最佳答案
ExecutorService.invokeAll()
可能是最直接的实现方式。
您无需遍历其中任何一个以等待完成。 invokeAll
仅在所有操作完成后返回。因此,当您可以迭代它们时,get
将立即返回。
关于java - 如何并行运行一组任务并等到所有任务都用 java concurrency utils 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17238032/