Tomcat 線程池配置

線程池apache

  Executor表明了一個線程池,能夠在Tomcat組件之間共享。使用線程池的好處在於減小了建立銷燬線程的相關消耗,並且能夠提升線程的使用效率。要想使用線程池,首先須要在 Service標籤中配置。tomcat

<Service name="Catalina">  
  
  <Executor name="tomcatThreadPool"   
         namePrefix="catalina-exec-"   
         maxThreads="1000"   
         minSpareThreads="100"  
         maxIdleTime="60000"  
         maxQueueSize="Integer.MAX_VALUE"  
         prestartminSpareThreads="false"  
         threadPriority="5"  
         className="org.apache.catalina.core.StandardThreadExecutor"/>  
  ...
# 在Connector中指定線程池
   <Connector executor="tomcatThreadPool"  

參數詳解spa

name
注:線程池名稱,用於 Connector中指定。

namePrefix
注:所建立的每一個線程的名稱前綴,一個單獨的線程名稱爲 namePrefix+threadNumber。

maxThreads
注:池中最大線程數。

minSpareThreads
注:活躍線程數,也就是核心池線程數,這些線程不會被銷燬,會一直存在。

maxIdleTime
注:線程空閒時間,超過該時間後,空閒線程會被銷燬,默認值爲6000(1分鐘),單位毫秒。
 maxQueueSize
注:在被執行前最大線程排隊數目,默認爲Int的最大值,也就是廣義的無限。除非特殊狀況,這個值不須要更改,不然會有請求不會被處理的狀況發生。

prestartminSpareThreads
注:啓動線程池時是否啓動 minSpareThreads部分線程。默認值爲false,即不啓動。

threadPriority
注:線程池中線程優先級,默認值爲5,值從1到10。

className
注:線程池實現類,未指定狀況下,默認實現類爲org.apache.catalina.core.StandardThreadExecutor。若是想使用自定義線程池首先須要實現 org.apache.catalina.Executor接口。
相關文章
相關標籤/搜索