【发布时间】:2015-06-05 02:25:35
【问题描述】:
我可以知道 Web 容器创建的线程(为每个请求创建新线程)与通过扩展线程类或实现可运行接口创建的普通线程有何不同。 Web 容器如何创建线程,即使 Servlet 接口或扩展它的 servlet 不包含任何 run() 方法。
【问题讨论】:
-
取决于所使用的 Web 容器。
-
@Robby:我正在使用 Apache Tomcat 作为我的 Web 容器。
-
恐怕你最好的选择是要么搜索 Tomcat 设计文档,要么阅读 Tomcat 源代码。
-
除了run方法内部的逻辑和池化没有区别。
-
Servlet 容器不会为异常请求创建新线程。它使用一个线程池。从池中取出线程来处理请求,然后放回池中。线程是线程是线程。 Tomcat 线程与任何其他线程没有什么不同。
标签: java multithreading servlets web-container