2017-05-23 4 views
0

executorサービスに送信する必要のあるタスクがたくさんあるとします。私はそれらを並行して処理したい。それはカバーです。executorerviceでタスクをリスニングする方法

private ExecutorService service = Executors.newFixedThreadPool(5); 

私が実行される20回の作業をrecive、と私は5

service.execute(tasks.poll()); 

のグループに予想通りそこのすべてが処理されている。しかし、今、私はキューにタスクを追加し続けると、それらを処理したいです私が今やっているように、サービスは20のオリジナルのタスクの後に終了します。

どうすればいいですか?

+0

https://stackoverflow.com/questions/1250643/how-to-wait-for-後に使用する必要がありますお待ちしておりますすべてのスレッドが終了するexecutorervice – BrunoDM

+0

あなたはシャットダウンを持っていますか?あなたはすべてのコードを更新してください –

答えて

0
 executor.awaitTermination() 

これは、すべてのタスクが完了するまで、これはexecutorl.shutdown()