Servlet和Struts2的线程安全问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet和Struts2的线程安全问题相关的知识,希望对你有一定的参考价值。
通常情况下,系统只生成servlet的单一实例之后,为每个用户请求建立新的线程。如果很多请求同时到来,那么多个线程可能会并发的访问同一个servlet对象。servlet是线程不安全的,在多线程访问servlet的时候,有一些限制:
- 尽量不要有成员变量;
- 如果有成员变量,这个成员变量也要是无状态的成员变量;
- 如果非要有成员变量,这个成员变量只能是只读的;
struts2本身就是多实例、单线程的,所以可以说本身就是线程安全的。
(Action是线程安全的,因为struts2中,action是多例的)
以上是关于Servlet和Struts2的线程安全问题的主要内容,如果未能解决你的问题,请参考以下文章
为什么原生的servlet是线程不安全的而Struts2是线程安全的?