為啥tomcat中的web應用停了,線程還在跑


https://www.cnblogs.com/lixiaojiao-hit/p/5095180.html

“靜態變量是ClassLoader級別的,如果web應用程序停止,這些靜態變量也會從jvm中清除。但是線程則是JVM級別的,如果用戶在web應用中啟動一個線程,這個線程的生命周期並不會和web應用程序保持同步。也就是說,即使停止了web應用,這個線程也依舊是活躍的。”

只要tomcat沒停止,jvm沒停止,java進程也還在,而只是web應用停止了而已。這樣線程當然也就還在了。

這個解決了我在農商銀行開發的那個外匯牌價系統時候遇到的一個疑問,當時我記得就是后台用了Timer來做定時去爬建行的外匯牌價。

然后eclipse用的tomcat插件,當把應用停止之后其實javaw還在也就是jvm進程還在,所以這個Timer線程也就還繼續跑了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM