缺省线程模型

在缺省模型中,只载入servlet(或JSP)的单一实例。Servlet引擎维护线程池,当请求到达时将其设置到请求。每个线程运行适当的服务方法,典型为donget()或dopost()。在高峰活动期,许多请求可能通过同一个servlet方法在同时运行,但因为每个线程都有其自己的指令指针和本地变量栈,请求间不会发生冲突。缺省模型提供好的吞吐率,但存在一些限制。因为只有一个servlet实例,任意实例变量只存在一个副本。如果考虑不谨慎,代码允许写入变量,一个线程覆盖了另一个线程所需的值。写入和读取就可能发生重叠。还有,如果donget()或dopost()方法调用子过程,它必须将所有必要对象作为参数传递,因为从其被写入知道子过程读取它们为止,不能依赖实例变量保留其值。

«1»