Condição de terminação do Java ServiceExecutor

Eu sou novo no material do executor java.

Estou usando o ExecutorService do Java para iniciar vários threads para processar dados.

Executor executor = Executors.newFixedThreadPool(poolSize);

for(int i=0; i< 5;i++) executor.execute(new MyRunnable(i));

uma vez que os threads não encontram dados, eles terminam de forma elegante.

Minha pergunta é o que acontece com o executor quando todos os threads terminam, ele ainda está executando seu thread master? ou terminará em si e toda a aplicação terminará graciosamente?

no caso de thread executor ainda é executado, como posso deixá-lo terminar uma vez que todos os seus threads filho são feitos (poolSize número de segmentos).

questionAnswers(4)

yourAnswerToTheQuestion