怎样理解Servlet的单实例多线程
2016-11-14 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
ervlet容器肢带绝默认是采用单实例多线程的方式处理多个请求的:
1. 当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);
2. 容器初始化Servlet。主要就是读取配置文件行乱(例如tomcat,可以通过servlet.xml的<Connector>设置线程池中线程数目,初始化线程池;通过web.xml,初始化每个参数值等等);
3. 当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread)调度它管理下的线程池中等待执行的线程(Worker Thread)给请求者;
4. 线程执行Servlet的service方法;
5. 请求结束,放回线程池,等到被历姿调用;
由以上可得。。线程不是servlet本身。而是tomcat服务器从线程池中分配一个线程。。然后执行httpservlet的dopost方法。。本身是线程不安全的。
1. 当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);
2. 容器初始化Servlet。主要就是读取配置文件行乱(例如tomcat,可以通过servlet.xml的<Connector>设置线程池中线程数目,初始化线程池;通过web.xml,初始化每个参数值等等);
3. 当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread)调度它管理下的线程池中等待执行的线程(Worker Thread)给请求者;
4. 线程执行Servlet的service方法;
5. 请求结束,放回线程池,等到被历姿调用;
由以上可得。。线程不是servlet本身。而是tomcat服务器从线程池中分配一个线程。。然后执行httpservlet的dopost方法。。本身是线程不安全的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询