How to wait for all threads to finish, using ExecutorService?

前端 未结 26 2011
你的背包
你的背包 2020-11-22 01:55

I need to execute some amount of tasks 4 at a time, something like this:

ExecutorService taskExecutor = Executors.newFixedThreadPool(4);
while(...) {
    tas         


        
26条回答
  •  感情败类
    2020-11-22 02:48

    Basically on an ExecutorService you call shutdown() and then awaitTermination():

    ExecutorService taskExecutor = Executors.newFixedThreadPool(4);
    while(...) {
      taskExecutor.execute(new MyTask());
    }
    taskExecutor.shutdown();
    try {
      taskExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
    } catch (InterruptedException e) {
      ...
    }
    

提交回复
热议问题