私はJavaエグゼキュータが初めてです。
Java の ExecutorService を使用して、複数のスレッドを起動してデータを処理しています。
Executor executor = Executors.newFixedThreadPool(poolSize);
for(int i=0; i< 5;i++) executor.execute(new MyRunnable(i));
スレッドがデータを見つけられなくなると、正常に終了します。
私の質問は、すべてのスレッドが終了したときに Executor に何が起こるかです。それはまだマスタースレッドを実行していますか? または、それ自体が終了し、アプリケーション全体が正常に終了しますか?
executor スレッドがまだ実行されている場合、すべての子スレッドが完了したら終了させるにはどうすればよいですか (poolSize スレッド数)。