corepoolsize, maximumpoolsize(執行緒中永許活動的最大執行緒數), workqueue(任務佇列), time, rejectedexecutionhandler(拒絕策略)
1.小於corepoolsize就會新起
2.大於corepoolsize 新增的先加入到workqueue中,此時可執行的最大執行緒數為corepoolsize
3.佇列也滿了,繼續新增執行緒maxsize,大於就拒絕,因此當任務數大於 佇列+最大 會導致拒絕策略常用的是discard,預設使用abortpolicy
關於Tomcat的執行緒池的理解
預設配置下,tomcat 會為每個聯結器建立乙個繫結的執行緒池 最大執行緒數 200 在大多數情況下你不需要改這個配置 除非增大最大執行緒數以滿足高負載需要 但是 tomcat 喜歡在每個工作者執行緒的 thread local 上下文快取一些諸如 pagecontext 以及標籤快取的物件。正因如...
執行緒池的理解
原來一直對執行緒池心存疑惑.第乙個疑惑是.執行緒類在例項化的時候就已經指定了run函式了,也就是說,乙個執行緒在例項化的時候,他能做什麼就已經定下來了,要做別的事,就要新開乙個執行緒.這感覺就和執行緒池的思想違背了,怎麼樣從執行緒池裡面拿乙個執行緒出來就可以執行呢?執行完了然後再放回去呢?第二個疑惑...
執行緒池的理解
1.為什麼要使用多執行緒?充分利用cpu資源,併發去做多個事情 2.單核cpu機器適不適合用多執行緒?適合,如果是單執行緒,執行緒中需要等待io,此時cpu就空閒出來了 3.執行緒什麼時候讓出cpu?阻塞時,wait,await,等待io,sleep,yield,結束了 4.執行緒是什麼?程序的最小...