
4.servlet单例问题
当servlet被第一次访问后,就被加载到内存,以后该实例对每个请求服务,即在使用中是单例
因为servlet是单例,因此会出现线程安全问题。比如:售票系统
解决线程安全问题的原则
(1)如果一个变量需要多个用户共享,则应当在访问该变量的时候,加同步机制
synchronized(对象){
//同步代码
}
(2)如果一个变量不需要共享,则直接在doGet()或者doPost()定义,这样不会存在线程安全问题

在web.xml中配置
<load-on-startup>1</load-om-startup>//1代表servlet被init的顺序
Servlet单例与线程安全
本文探讨了Servlet作为单例对象在Web应用中的工作原理及其可能引发的线程安全问题,并介绍了两种解决线程安全问题的方法:一是通过加锁实现同步访问;二是将变量限定在请求范围内。
2754

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



