Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat何时增加线程数?_Tomcat_Threadpool - Fatal编程技术网

Tomcat何时增加线程数?

Tomcat何时增加线程数?,tomcat,threadpool,Tomcat,Threadpool,Tomcat逐步将线程数从minSpareThreads增加到maxThreads 什么是使Tomcat增加线程数的触发器?它可能与您编写的略有不同: minThreads:启动时分配的线程数 minSpareThreads:应始终可用的线程数。如果可用的线程数较少(空闲),则增加它们的数量,直到达到maxThreads maxThreads:同一时间运行的线程数不得超过此数目 (我必须承认,我没有查阅文档——你也没有说这是否适用于HTTP线程、数据库线程或其他线程,但这是我经常看到的) 示

Tomcat逐步将线程数从minSpareThreads增加到maxThreads


什么是使Tomcat增加线程数的触发器?

它可能与您编写的略有不同:

  • minThreads:启动时分配的线程数
  • minSpareThreads:应始终可用的线程数。如果可用的线程数较少(空闲),则增加它们的数量,直到达到maxThreads
  • maxThreads:同一时间运行的线程数不得超过此数目
(我必须承认,我没有查阅文档——你也没有说这是否适用于HTTP线程、数据库线程或其他线程,但这是我经常看到的)


示例:假设您已经配置了10/5/20个线程(最小、最小、最大)。启动时,将向池中添加10个线程。对于前5个已消耗的线程,没有其他情况发生。一旦第6个线程被消耗,您就只有不到5个备用线程,这就是启动更多线程的原因(直到再次满足此条件)

出于好奇,这是通过对标准线程池组件应用某种“队列容量黑客”实现的。通常,标准java线程池不会添加更多线程,除非队列已满。这里的实现绕过了这一点: