积累-servlet多线程2234分类教程标签举报字号订阅_第1页
积累-servlet多线程2234分类教程标签举报字号订阅_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Servlet多线2010-11-1222:34:24|分类:类|:servlet多线程||字号订一,servlet容器如何同时处理多个请求Servlet采用多线程来处理多个请求同时,Servelet容器了一个线程池实际上是等待执行代码的一组线程叫做工作者线程(WorkerServlet容器使用一个调度线程来管理工作者线程(DispatcherThread)当容器收到一个Servlet的请求,调度者线程从线程池中选出一个工作者线程,将请求传递给该线程,然后由该线程来执行Servlet的service方的是同一个Servlet还是另外一个Servlet。当容器同时收到对同一的多个请求,那这个Servletservice二,Servlet容器默认采用单实例多线程的方式来处理请求,这样减少产生Servlet实例的开销,提升了对请求的响应时间。对于Tomcat可以在server.xml中通过<Connector>元素设置线程池中线程的数目。三,如何开发线程安全的1,变量的线程安全:这里的变量指字段和共享数据(如表单参数值)a,将参数变量本地化。多线程并不共享局部变量.所以我们要尽可能的在servlet中使用局部变量。例如:Stringuseruser=b,使用同步块Synchronized,防止可能异步调用的代码块。这意味着要直接在sevice方法和响应方法上使用同步,这样会严重影响性能。2,属性的线程安全对象中属Clone()。所以在Servlet上下文中尽可能少量保存会被修改(写)的数据,可以采取其他方式在多个Servlet中共享,比方我们可以使用单例模式来处理共享

Session的请求的线程中被,因此Session对象的属性理论上是线程于同一个Session块Synchronized和使用读/写器来解决。ServletRequest对象,所以ServletRequest对象只能在一个线程中被。ServletRequest是线程安全的。注意:ServletRequest对象在service方法的范围内是有效的,不要试图在service方法结束后仍然保存请求对象的。3,使用同步的集合类VectorArrayList,使用Hashtable代替HashMap4,不要在Servlet中创建自己的线程来完成某个功能Servlet本身就是多线程的,在Servlet中再创建线程,将导致执行情5,在多个servlet中对外部对象(比方文件)进行修改操作一定要加锁,做四,SingleThreadModel接javax.servlet.SingleThreadModel接口是一个标识接口,如果一个Servlet实现了这个接口,那Servlet容器将保证在一个时刻仅有一个线程可以在给定的servlet实例的service方法中执行。将其他所有请求进行排队。题。服务器创建一个Servlet类的多个Servlet实例组成的实例池,对于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论