Tomcat 線程池配置


線程池

  Executor代表了一個線程池,可以在Tomcat組件之間共享。使用線程池的好處在於減少了創建銷毀線程的相關消耗,而且可以提高線程的使用效率。要想使用線程池,首先需要在 Service標簽中配置。

<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"  

參數詳解

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接口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM