考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Java语言程序设计 > 考试辅导 > 文章内容
  

全国计算机等级考试二级Java重点内容(37)

中华IT学院   【 】  [ 2016年11月2日 ]

  servlet的线程安全问题

  (1)产生线程安全问题的原因:

  默认情况下,某个Servlet在容器当中,只有一个

  实例(不管有多少个请求)。

  如果有多个请求到达容器,容器会启动多个线程

  来处理请求,此时,就有可能多个线程会同时访问

  某个servlet实例,如果这些线程访问了线程不安全的

  资源(比如修改了servlet的某个属性值),就会产

  生线程安全问题。

  (2)如何解决?

  a, 使用synchronized加锁,不要对整个

  service方法加锁,而是对访问临界资源的

  代码加锁。

  b, 让servlet实现SingleThreadModel接口。

  容器会为实现了这个接口的servlet创建多个实例。

  不建议使用。

  c, 尽量避免对servlet属性值进行修改。

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2006-2017 中华考试网(Examw.com) All Rights Reserved  营业执照