servlet的线程安全问题
(1)产生线程安全问题的原因:
默认情况下,某个Servlet在容器当中,只有一个
实例(不管有多少个请求)。
如果有多个请求到达容器,容器会启动多个线程
来处理请求,此时,就有可能多个线程会同时访问
某个servlet实例,如果这些线程访问了线程不安全的
资源(比如修改了servlet的某个属性值),就会产
生线程安全问题。
(2)如何解决?
a, 使用synchronized加锁,不要对整个
service方法加锁,而是对访问临界资源的
代码加锁。
b, 让servlet实现SingleThreadModel接口。
容器会为实现了这个接口的servlet创建多个实例。
不建议使用。
c, 尽量避免对servlet属性值进行修改。
2018年全国计算机等级考试调整方案
[考试动态]2017年11月20日全国计算机等级考试计算机基础及Photoshop应用试题答案汇总(6套)
[Photoshop应用]2017年2月3日全国计算机等级考试四级数据库系统工程师试题及答案汇总(22套)
[数据库工程师]2017年2月2日全国计算机一级考试模拟试题及答案300题
[WPS Office应用]2017年1月22日2017年3月全国计算机等级考试报名时间及报名入口汇总
[考试动态]2017年1月3日