fre*_*low 1 java concurrency multithreading blocking executorservice
可能重复:
ExecutorService,如何等待所有任务完成
Java ExecutorService:awaitTermination所有递归创建的任务
有没有办法阻止当前线程,直到ExecutorService完成所有任务?
executor.execute(task1);
executor.execute(task2);
executor.execute(task3);
executor.execute(task4);
executor.execute(task5);
// ...now I want to block until all tasks have finished executing...
System.out.println("done!")
Run Code Online (Sandbox Code Playgroud)
对于您的所有任务,将它们放入List callables然后在它们上调用All
ExecutorService e = ...
e.invokeAll(callables);
Run Code Online (Sandbox Code Playgroud)
每个javadocs
执行给定的任务,返回完成所有状态和结果的Futures列表.对于返回列表的每个元素,Future.isDone()都为true.请注意,已完成的任务可能正常终止或通过抛出异常终止.如果在此操作正在进行时修改了给定集合,则此方法的结果是不确定的.
因此,线程将等待所有任务完成
| 归档时间: |
|
| 查看次数: |
6007 次 |
| 最近记录: |