から callable のリストを呼び出そうとすると問題が発生しfixedThreadPool
ます。すべての callable が実行されますが、それらの一部は異なるスレッドに同時にディスパッチされているように見えるため、実際には複数回呼び出されます。以下のコードを参照してください。
try {
ExecutorService es = Executors.newFixedThreadPool(Environment.nThreads);
es.invokeAll(Environment.jobPool);
es.shutdown();
} catch (InterruptedException e) {
e.printStackTrace();
}