私は Executor フレームワークを使用して、スレッドプール、つまり newFixedThreadPool を使用して複数のスレッドを開始しています。threadpool.submit(aThread) を使用して、スレッドプールによって実行されるジョブを送信しますが、これは正常に機能しますが、他の処理を続行できるように、すべてのスレッドがいつ完了するかを判断する必要があります。スレッドが完了するまでブロックする Future.get() の使用を検討しました。ここでの問題は、結果が得られるまでブロックすることです。また、すべてのスレッドが完了しているかどうかを確認するために、シャットダウンを発行した後に isTerminated() メソッドを継続的に呼び出してからスリープ状態にすることも検討しましたが、これはうまくいきません。これに別のよりクリーンな方法はありますか?また、スレッドのいずれかで例外が発生した場合は、実行中の他のすべてのスレッドを終了し、プール内のキューに入れられたスレッドの開始を停止できるようにしたいと考えています。これを行うための最良のメカニズムは何ですか?
返信をお待ちしております
ティア