假设
运行Web应用程序的tomcat容器。
触发tomcat shutdown命令。
在我的情况下,tomcat容器没有关闭,因为在关闭命令被触发后仍然存在任务线程。
答案 0 :(得分:2)
除非Tomcat中存在我不知道(可能)的魔法,否则问题可能是你的睡眠线程不是守护线程。一旦启动JVM关闭(通过外部HUP / INT / TERM信号,或System.exit或其他任何方式),JVM将等待,直到所有非守护程序线程正常完成。您需要安排您的休眠线程有序关闭,或者在创建它们时设置daemon=true。