Servlet线程安全问题
2017-04-01 13:53
267 查看
从Servlet生命周期的四个方法可以知道,一个Servlet的构造方法和init()是只被调用一次的,而service()则被多次调用,由此可见Servlet是单实例多线程的。
既然是多线程的,那么必然存在线程安全的问题,那么解决方案是什么呢?
1.将使用共享数据(例如成员变量)的代码块利用synchronized关键字同步
2.尽量避免使用成员变量,如果非用不可,那么必须将用到成员变量的代码块进行同步(synchronized),并且尽量缩小代码块的范围,以避免由于同步代码块而造成的并发效率降低
既然是多线程的,那么必然存在线程安全的问题,那么解决方案是什么呢?
1.将使用共享数据(例如成员变量)的代码块利用synchronized关键字同步
2.尽量避免使用成员变量,如果非用不可,那么必须将用到成员变量的代码块进行同步(synchronized),并且尽量缩小代码块的范围,以避免由于同步代码块而造成的并发效率降低
相关文章推荐
- servlet与Struts action线程安全问题分析
- servlet与Struts action线程安全问题分析
- Servlet 线程安全问题
- Servlet线程安全的问题----总结(应付以后的面试)
- action,servlet单实例线程安全问题
- servlet线程安全问题
- Servlet线程安全问题
- servlet与Struts action线程安全问题分析
- servlet线程安全问题
- 深入理解Servlet线程安全问题
- 关于servlet线程安全问题
- servlet与Struts action线程安全问题分析
- servlet与Struts action线程安全问题分析
- servlet线程安全问题分析
- servlet与Struts action线程安全问题分析!(转)
- 深入研究servlet 实例,线程安全等方面问题
- servlet与Struts action线程安全问题
- servlet与Struts action线程安全问题分析
- servlet线程安全问题分析
- 深入理解Servlet线程安全问题