Servlet的线程安全问题

servlet的线程安全问题

  servlet在访问后,会执行实例化操作,创建一个servlet对象,而我们Tomcat容器可以同时多个线程并发访问同一个servlet,如果在方法中对成员变量做修改操作,就会有线程安全问题。

synchronized锁

  将存在线程安全问题的代码放在同步代码块里

  但如果是多线程访问你的服务器,那么同时间服务器处理的请求只有一个,那么你的服务器就是垃圾

实现SingleThreadModel接口

  实现这个接口后,每个线程都会创建servlet实例,这样就不存在资源共享的问题,但这样做servlet响应客户端请求的效率太低,所以被淘汰了

尽可能使用局部变量

  即想要解决性能问题,又想要解决线程安全,那我们不用成员变量,尽量用局部变量,就能很好地解决这两个问题

 

posted @ 2021-01-15 12:29  艾尔夏尔-Layton  阅读(99)  评论(0编辑  收藏  举报