現象:Springboot項目,exit之后線程依然存在。
分析:
1. 可能是哪里有線程沒有停掉或者設置了守護線程等。但是沒有頭緒,然后查資料從這篇文章受到啟發:spring boot 停止了,但是線程還在繼續執行
2. 工具分析:
通過VisualVm工具的線程dump分析可以發現我創建的一個線程池對象依然在運行(此時體現出自定義線程池對線程名字重命名的重要性了)
3. 然后再次分析項目中使用到這個線程池的地方進行排查,發現在這里使用創建了線程池,但是停止的時候未關閉掉所以導致了這個問題。