次のコードを手元に用意します。
ExecutorService executor = Executors.newFixedThreadPool(10);
Collection collection = new ArrayList();
for (int n=1; n<100; n++)
collection.add(new MyThread(n));
try {
List<Future<Boolean>> futures = executor.invokeAll(collection);
for(Future<Boolean> future : futures){
future.get();
if (future.isDone()) {
System.out.println("true");
}
else
System.out.println("false");
}
} catch (Exception e) {
e.printStackTrace();
}
上記が正しい場合は?
すべてfuture.isDone()
が true の場合、すべてのスレッドが完了していますか?
それらがすべて完了したことを確認するために、フラグを作成するにはどうすればよいですか?