If we use an ExecutorCompletionService we can submit a series of tasks as Callable
s and get the result interacting with the CompletionService
as a
I haven't ever actually used ExecutorCompletionService, but I think the case where this could be more useful than "normal" ExecutorService would be when you want to receive the Futures of completed tasks in completion order. With invokeAll, you just get a list that can contain a mix of incomplete and completed tasks at any given time.