Servlet的线程安全问题
来源:互联网 发布:centos软件安装目录 编辑:程序博客网 时间:2024/05/21 07:49
Servlet容器默认采用单实例多线程的方式来处理请求,这样减少产生Servlet实例的开销,提升了对请求的响应时间
Servlet 体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据 web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。Servlet容器会自动使用线程池等技术来支持系统的运行.
ServletRequest:(线程是安全的)
对于每一个请求,由一个工作线程来执行,都会创建有一个新的ServletRequest对象,所以ServletRequest对象只能在一个线程中被访问。ServletRequest是线程安全的。
注意:ServletRequest对象在service方法的范围内是有效的,不要试图在service方法结束后仍然保存请求对象的引用。
ServletContext:(线程是不安全的)
ServletContext是可以多线程同时读/写属性的,线程是不安全的。要对属性的读写进行同步处理或者进行深度Clone()。
所以在Servlet上下文中尽可能少量保存会被修改(写)的数据,可以采取其他方式在多个Servlet中共享,比方我们可以使用单例模式来处理共享数据。
0 0
- Servlet的线程安全问题
- servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- Servlet的线程安全问题
- word2vct算法实现
- javascipt数组
- Lua配置表存储优化方案
- js浅复制与深复制的原理
- 接口测试的那些事(三)成果和心得
- Servlet的线程安全问题
- JavaScript的只继承于原型链
- 让Processing编辑器显示中文
- mysql5.7.xx on mswindows快速安装
- 如何查看Linux的内存使用状况
- moveit!功能包安装问题
- java的基本知识
- GitLab的安装实战
- Maven使用总结(一):Maven坐标配置