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