2015-12-11 21 views
0

所以閱讀的ExecutorCompletionService javadoc的,看起來像它使用具有像invokeAll()方法的ThreadPoolExecutor,但是,ExecutorCompletionService只提供submit()方法,因此不讓我們打電話invokeAll,並在一次如果觸發所有任務任務通過ExecutorCompletionService提交。ExecutorCompletionService失蹤的invokeAll接口

難道不應該支持invokeAll(),這樣我可以準備的任務列表,並呼籲像

ExecutorCompletionService.invokeAll(listOfTasks);

,而不是調用

ExecutorCompletionService.submit(task); 

for循環?

+0

這不是'ExecutorCompletionService'的工作方式。你想做什麼? –

回答

2

編號ExecutorCompletionServiceCompletionService而不是ExecutorServiceCompletionService的全部要點是提供一種機制來檢查通過輪詢完成的任務。

invokeAll阻塞,直到所有提交的任務完成。

這些是相反的功能。