温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

servlet线程安全问题

发布时间:2020-06-16 20:21:58 来源:网络 阅读:307 作者:yayaAA 栏目:开发技术


由于默认情况下Servlet,在内存中只有一个实例对象,当多个浏览器并发访问Servlet时就有可能产生线程安全问题


解决方案:

   1、加锁--效率降低 synchronized(this){  }

   2SingleThreadModel接口 -- 不能真的防止线程安全问题

服务器的内部维护一个对象池,放servlet的对象,一个请求过来,会到池里检查一下有没有这个servlet,如果没有,创建一个给当前线程使用,使用完的就放回池里。如果第一个线程使用的servlet对象还没有还回池里,第二线程过来就会再创建一个servlet对象,两个servlet对象会随机被选中给第三个线程使用。

   3、最终解决方案:

Servlet尽量少用类变量,如果一定要用类变量则用锁来防止线程安全问题,但是要注意锁住内容应该是造成线程安全问题的核心代码,尽量的少锁主内容,减少等待时间提高servlet的响应速度。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI