ExecutorCompletionService缺少invokeAll接口

时间:2015-12-11 00:39:38

标签: java multithreading executorservice

因此,阅读ExecutorCompletionService的javadoc,看起来它使用的是具有invokeAll()等方法的threadpoolexecutor,但ExecutorCompletionService只提供了submit()方法,因此不允许我们调用invokeAll如果通过ExecutorCompletionService提交任务,则会立即触发所有任务。

它不应该支持invokeAll(),以便我可以准备任务列表并调用类似

的内容

ExecutorCompletionService.invokeAll(listOfTasks);

而不是打电话

ExecutorCompletionService.submit(task);

在for循环中?

1 个答案:

答案 0 :(得分:2)

没有。 ExecutorCompletionServiceCompletionService,而不是ExecutorServiceCompletionService的重点是提供一种机制,通过轮询检查已完成的任务。

invokeAll阻止所有提交的任务完成。

这些是相反的特征。