因此,读取ExecutorCompletionService
的javadoc似乎使用了具有类似invokeAll()
之类的方法的threadpoolexecutor,但是,ExecutorCompletionService
仅提供Submit()方法,因此不允许我们调用invokeAll
并立即触发所有任务如果任务是通过ExecutorCompletionService
提交的。
它不应该支持invokeAll()
以便我可以准备任务列表并调用类似
ExecutorCompletionService.invokeAll(listOfTasks);
而不是打电话
ExecutorCompletionService.submit(task);
在for循环中?
最佳答案
否。ExecutorCompletionService
是CompletionService
,而不是ExecutorService
。 CompletionService
的全部目的是提供一种通过轮询检查完成的任务的机制。invokeAll
阻塞,直到所有提交的任务完成。
这些是相反的特征。
关于java - ExecutorCompletionService缺少invokeAll接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34214368/