ServletJSP线程学习Java认证考试
文章作者 100test 发表时间 2010:01:01 15:42:54
来源 100Test.Com百考试题网
编写Servlet JSP的时候,Servlet JSP线程安全问题很容易被忽略,如果忽视了这个问题,你的程序就存在潜在的隐患。
1.Servlet的生命周期
Servlet的生命周期是由Web容器负责的,当客户端第一次请求Servlet时,容器负责初始化Servlet,也就是实例化这个Servlet 类。以后这个实例就负责客户端的请求,一般不会再实例化其他Servlet类,也就是有多个线程在使用这个实例。Servlet之所以比CGI效率高就是因为Servlet是多线程的。如果该Servlet被声明为单线程模型的话,容器就会维护一个实例池,那么将存在多个实例。
2.Servlet的线程安全
Servlet规范已经声明Servlet不是线程安全的,所以在开发Servlet的时候要注要这个问题。这里以一个现实的模型来说明问题,先定义一个Servlet类,再定义一个SmulateMultiThread类和WebContainer类。
import