shutdown和awaitTermination哪个第一次调用有什么区别?

之间有什么区别

ExecutorService eService = Executors.newFixedThreadPool(2);

eService.execute(new TestThread6());

eService.execute(new TestThread6());

eService.execute(new TestThread6());

eService.awaitTermination(1, TimeUnit.NANOSECONDS);

eService.shutdown();

eService.shutdown();

eService.awaitTermination(1, TimeUnit.NANOSECONDS);

我不太明白shutdown()。此方法不等待先前提交的任务完成执行。这是否意味着shutdown()可以终止已提交但尚未完成的任务?我尝试了一些例子,他们没有证明,请给我一个例子。

回答:

你应该shutdown先打电话。否则,您可能会等待很长时间,因为awaitTermination实际上并没有关闭执行程序。

如果您要等待任务完成而不是等待执行程序关闭,则应使用invokeAll

以上是 shutdown和awaitTermination哪个第一次调用有什么区别? 的全部内容, 来源链接: utcz.com/qa/397887.html

回到顶部