Java Servlets线程模型

我想知道是否有人能解释我Java Servlets的线程模型? 据我所知,servlet容器中只存在一个servlet实例,如果多个线程碰巧正在等待该servlet,那么请求会以某种方式被序列化。 我不知道序列化过程是怎么发生的……

任何人都可以解释一下吗?

如果请求由servlet串行处理,那么Web应用程序将非常慢。 实际上,servlet需要是线程安全的,因为servlet的单个实例可以负责同时处理多个请求。

通常,Web应用程序容器将维护用于处理请求的线程池,并且按需将传入请求分配给线程。

从历史上看,您有两种型号,具体取决于您的Servlet。 如果Servlet实现了SingleThreadModel ,那么请求在哪里排队。 否则,这是现在唯一的模型,Servlet必须能够同时提供多个请求。 因此,除非容器具有一定的速率限制function,否则该模型中没有排队。

是的,有一个接口单线程模型 .it是一个标记接口。 它使servlet的这个对象同步,即一次只有一个线程为对象提供服务。但它会产生响应延迟等问题。对于解决方案,它们会创建对象池,但池也有限制。所以最好使用synchronized块