Tomcat maxThread价值进退两难

时间:2016-04-27 17:32:35

标签: multithreading apache tomcat multiprocessing

我对一个问题感到震惊,从而寻求你的帮助。

tomcat中的maxThread计数值控制着tomcat可以服务的最大并发请求数(我的理解),这意味着最大线程数工作。

现在假设我设置了maxThread = 2并且当前有两个线程同时工作。如果其中一个线程创建了2个子线程(调用其他api)。

我的问题:如果maxThread = 2可以存在4个线程(两个父级+2个孩子)? 如果是,maxThread控制什么? 如果不是这种情况会发生什么?

如果我很难解释自己,请原谅。

1 个答案:

答案 0 :(得分:0)

对于在beginSheet之一上发出的每个HTTP请求,Tomcat会创建一个线程(例如名为connector的线程)。

http-8080-thread1值控制这些线程。当达到maxThreads时,完全可能存在或可以在JVM中创建其他几个线程。

此外,考虑到有maxThreads设置所有请求线程忙时排队的请求数。

More details in tomcat documentation