如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)
,就不会等待。
我认为答案是正确的,因为代码不会阻塞,所以应该就可以了。是什么让程序等待?