美文网首页
JavaWeb开发之Servlet的线程安全问题

JavaWeb开发之Servlet的线程安全问题

作者: 小丸子的呆地 | 来源:发表于2021-07-12 07:39 被阅读0次

为何Servlet会有线程安全问题

当容器收到一个请求之后,会启动一个线程来处理该请求,如果有多个请求到达容器,并且这多个请求要访问的是同一个Servlet,则会发生多个线程调用同一个Servlet的情况,此时,就需要考虑线程安全问题了,比如,这多个线程都要修改Servlet的属性值。

如何处理线程安全问题

1)加锁:使用synchronized关键字对方法或者代码块加锁。加锁会影响一些性能
2)让一个Servlet实现SingleThreadMode接口:容器会为这样的Servlet(实现
SingleThreadMode接口 的)创建多个实例(一个线程一个实例)。因为有可能会产生过多的Servlet实例,所以,在比较大型的应用当中,尽量少用。
3)尽量不在servlet中使用类变量。

相关文章

网友评论

      本文标题:JavaWeb开发之Servlet的线程安全问题

      本文链接:https://www.haomeiwen.com/subject/nsikpltx.html