預設配置下,tomcat 會為每個聯結器建立乙個繫結的執行緒池(最大執行緒數 200)。在大多數情況下你不需要改這個配置(除非增大最大執行緒數以滿足高負載需要)。但是 tomcat 喜歡在每個工作者執行緒的 thread-local 上下文快取一些諸如 pagecontext 以及標籤快取的物件。正因如此,就會有你期望 tomcat 能夠將執行緒關掉以清理出來一些記憶體的情況。此外,每個聯結器維護自己的執行緒池的話,根據伺服器的承受能力來設定乙個(執行緒數)最高值會變得更加困難。解決這些問題的答案就是使用乙個共享執行器。
org.apache.catalina.core.standardthreadexecutor
maxidletime 實際上是 minidletime
結論
關於執行緒池的理解
corepoolsize,maximumpoolsize 執行緒中永許活動的最大執行緒數 workqueue 任務佇列 time,rejectedexecutionhandler 拒絕策略 1.小於corepoolsize就會新起 2.大於corepoolsize 新增的先加入到workqueue中...
對Tomcat執行緒池的一些理解
1.工作機制 tomcat啟動時如果沒有請求過來,那麼執行緒數 都是指執行緒池的 為0 一旦有請求,tomcat會初始化minsaprethreads設定的執行緒數 2.執行緒池作用 tomcat的執行緒池的執行緒數跟你的瞬間併發有關係,比如maxthreads設定為1000,當瞬間併發達到1000...
執行緒池的理解
原來一直對執行緒池心存疑惑.第乙個疑惑是.執行緒類在例項化的時候就已經指定了run函式了,也就是說,乙個執行緒在例項化的時候,他能做什麼就已經定下來了,要做別的事,就要新開乙個執行緒.這感覺就和執行緒池的思想違背了,怎麼樣從執行緒池裡面拿乙個執行緒出來就可以執行呢?執行完了然後再放回去呢?第二個疑惑...