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

前端 未结 26 2042
你的背包
你的背包 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:43

    Java 8 - We can use stream API to process stream. Please see snippet below

    final List tasks = ...; //or any other functional interface
    tasks.stream().parallel().forEach(Runnable::run) // Uses default pool
    
    //alternatively to specify parallelism 
    new ForkJoinPool(15).submit(
              () -> tasks.stream().parallel().forEach(Runnable::run) 
        ).get();
    

提交回复
热议问题