ank*_*nfo 6 java parallel-processing thread-safety
使用单一ExecutorService和多个CompletionService使用相同线程池的实例是否安全?
CompletionService<Object> collector = new ExecutorCompletionService<Object>(threadPool);
Run Code Online (Sandbox Code Playgroud)
因此,将有多个线程创建上面的实例,'collector'与一个singleton threadPool.
没事的.每个实例都ExecutorCompletionService维护自己的已完成任务队列,只使用底层Executor来处理每个任务.
如果完成服务的数量很大并且线程池具有上限但不会影响结果的正确性,则任务可能会在性能方面相互干扰.