【问题标题】:How tomcat handle multiple concurrent request at the same time?tomcat如何同时处理多个并发请求?
【发布时间】:2018-01-19 12:36:48
【问题描述】:

tomcat如何同时处理多个并发请求?

它是否排队请求或处理并行中的一些请求?

如果它并行处理请求,它如何返回异步响应?它是否保持与客户端的连接打开,直到响应到来?


如果tomcat使用多线程环境?代码是否需要完全线程安全?或者tomcat自己处理。

【问题讨论】:

标签: java linux tomcat server


【解决方案1】:

Tomcat 使用线程连接池,每个传入的请求都会从池中分配给一个线程,一旦线程完成作业,它就会返回池中。

你可以根据你的应用配置tomcat连接池。

除了连接池,tomcat 内部也使用了 JDBC 连接池,更多内容请看这里https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

编辑:-回答您的第二个问题,是的,tomcat 使用多线程环境。并且每个请求都是 tomcat 分配给一个新线程,例如每个 servlet 请求将被包装到一个新的请求对象(线程安全),但之后它取决于您的业务逻辑,无论您是将其传递给一些线程安全代码还是不是。

稍后将添加代码示例,但如果您想要更多代码示例并深入了解它,http://jcip.net/ 是一个非常好的起点。

【讨论】:

    猜你喜欢
    • 2013-01-12
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2018-09-25
    • 2018-08-24
    • 1970-01-01
    相关资源
    最近更新 更多