ExecutorCompletionService
- это не оболочка вокруг Executor
, это реализация CompletionService
, которая использует Исполнителя для своей работы.
То, что это Executor
внедряется через конструктор, а не создается внутри, является приложением Deverdency Inversion.
Аналогично, он также может принимать внешнее BockingQueue
-реализация, которая будет использоваться дляудержание выполненных задач, но это не делает его оберткой вокруг BockingQueue
.