为啥tomcat中的web应用停了,线程还在跑

Posted 湾岸技研 Wangan Tech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥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线程也就还继续跑了。

以上是关于为啥tomcat中的web应用停了,线程还在跑的主要内容,如果未能解决你的问题,请参考以下文章

线程同步——火车票问题

Tomcat对异步Servlet的支持

Tomcat 部署及优化

tomcat 中的 Java Web 应用程序定期冻结

为啥在我的 web 应用程序中使用 Tomcat 时出现 Class NotFound Exception?

为啥我需要在 tomcat 应用程序上启用 CORS