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