8 Servlet的多线程并发问题
注意: servlet对象在tomcat服务器是单实例多线程的。
因为servlet是多线程的,所以当多个servlet的线程同时访问了servlet的共享数据,如成员变量,可能会引发线程安全问题。
解决办法:
1)把使用到共享数据的代码块进行同步(使用synchronized关键字进行同步)
2)建议在servlet类中尽量不要使用成员变量。如果确实要使用成员,必须同步。而且尽量缩小同步代码块的范围。(哪里使用到了成员变量,就同步哪里!!),以避免因为同步而导致并发效率降低。
本文探讨了Servlet在Tomcat服务器环境下多线程并发访问共享数据时可能遇到的线程安全问题,并提出了两种解决方案:一是对共享数据的操作进行同步处理;二是避免在Servlet中使用成员变量,如果必须使用,则需确保其同步。

1081

被折叠的 条评论
为什么被折叠?



