Servlet单例问题

来源:互联网 发布:mac onenote 文件位置 编辑:程序博客网 时间:2024/06/05 06:51

当Servlet被第一次访问后,就被加载到内存,以后该实例对各个请求服务.即在使用中是单例.

因为 Servlet是单例,因此会出现线程安全问题: 比如:

售票系统. 如果不加同步机制,则会出现问题:

 

这里我给大家一个原则:

(1)       如果一个变量需要多个用户共享,则应当在访问该变量的时候,加同步机制

同步锁:::       用上锁的方式实现数据同步,避免多线程操作的情况下,数据出现异常或出现脏数据

 

synchronized(对象){//

       //同步代码

}

(2)如果一个变量不需要共享,则直接在 doGet() 或者 doPost()定义.这样不会存在线程安全问题

0 0
原创粉丝点击