Executor.shutdown()仍在等待任务完成而没有invokeAll或awaitTermination

时间:2018-08-08 11:30:14

标签: java multithreading executorservice

this answer中所述:

  

ExecutorService将尝试等待所有任务完成,但是如果   shutdown()是main方法之前的最后一行代码   终止,系统将在主程序结束后调用System.exit()   将终止JVM并覆盖ExecutorService的方法   尝试等待正在运行的任务完成。

但是给出以下代码:

t know in what byte format it is wrapped. After this, all

任务完成仍然完成(即使我删除了对System.out的最后一个调用,而shutdown是最后一行)。它产生:

ts file

然后退出。当然,如果我在关机后明确添加"DemuxToy"(Analyser),就不会等待。

我认为答案是正确的,因为代码不会阻塞,所以应该就可以了。是什么让程序等待?

0 个答案:

没有答案