ExecutorService で実行している n 個のRunnable
タスク (Callable ではない) があります。
すべてのタスクが完了するまで待ちたいと思います。
invokeAll
Callables のコレクションで機能するため、使用できません。
shutdown()+awaitTermination
awaittermination にはタイムアウトを提供する必要があるため、使用できませんが、タスクが完了するまでに数時間かかることがあります。
使うことができます:
ExecutorService.shutdown();
while (!ExecutorService.isTerminated()) {}
ただし、このループは常にトリガーされます。
そのようなシナリオでは何が提案されていますか?