我遇到了无法正常关闭的Tomcat服务器的问题。我在发出shutdown命令后进行了一次线程转储,它看起来像这样:
我认为是不允许VM关闭的“可疑”的线程是名为“pool-4-thread-1”的线程。其余的是守护程序线程或内部VM线程。在试图找出这个线程的用途时,我注意到还有其他java程序创建了具有相似名称的线程(例如,JVisualVM创建了这样的线程)。
所以我想知道其他人是否知道这个帖子是什么以及如何创建它。
答案 0 :(得分:12)
这些线程可能是由您在代码中创建的ExecutorService(直接或间接通过库)创建的,并且需要关闭(例如在ServletContextListener中)。