【发布时间】:2018-10-17 14:54:46
【问题描述】:
我正在使用执行器服务来运行我的 10 个任务,一次有 2 个任务。
ExecutorService executor = Executors.newFixedThreadPool(2);
for (int i = 0; i < 10; i++) {
String name = "NamePrinter " + i;
Runnable runner = new TaskPrint(name, 1000);
System.out.println("Adding: " + name + " / " + 1000);
executor.execute(runner);
}
如何等待所有任务完成
【问题讨论】:
-
是的,我看到了这个问题,但是添加这一行会立即停止程序 taskExecutor.shutdown();尝试 { taskExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); } catch (InterruptedException e) { ... } 还有,我不知道告诉最大等待时间
-
然后提交minimal reproducible example。但我猜你在循环中调用了那个方法?!
-
stackoverflow.com/questions/19348248/… taskExecutor.shutdown();答案是停止程序。我不知道为什么有 300 多人支持这个答案
标签: java executorservice