threadpoolexecutor是執行緒池的真正實現,他通過構造方法的一系列引數(不同的構造方法),來構成不同配置的執行緒池。
拒絕策略,是乙個介面,可以自己實現自定義的拒絕策略。
當執行緒數已經達到maxpoolsize,切佇列已滿,會拒絕新任務
當執行緒池被呼叫shutdown()後,會等待執行緒池裡的任務執行完畢,再shutdown。如果在呼叫shutdown()和執行緒池真正shutdown之間提交任務,會拒絕新任務。
- abortpolicy 丟棄任務,拋執行時異常(預設)
- callerrunspolicy 執行任務
- discardpolicy 忽視,什麼都不會發生
- discardoldestpolicy 從佇列中踢出最先進入佇列(佇列最前面)的任務
執行緒池引數
由於系統頻繁的建立和銷毀執行緒,因而使用執行緒池讓建立的執行緒進行復用 1.corepoolsize 指定了執行緒池中的執行緒數量 2.maximumpoolsize 執行緒池中最大執行緒數量 3.keepalivetime 當執行緒池中的執行緒數超過corepoolsize,多餘的空閒的執行緒的存...
執行緒池引數
我把執行緒池引數給做個形象的比喻,執行緒池 就好比乙個水池,池底有n個小洞,就是核心執行緒數量n,最大執行緒數量就是這個池子能裝多少個桌球,等待佇列 就是池子之外的一塊地方,有的佇列是有界的,就是大小固定,有的是無界的,大小不固定。任務 就是把桌球丟到池子中,讓桌球從池底的小洞掉下去。相當於執行緒的...
Java執行緒池幾個引數的理解
執行緒池幾個引數的理解 比如去火車站買票,有10個售票視窗,但只有5個視窗對外開放.那麼對外開放的5個視窗稱為核心執行緒數,而最大執行緒數是10個視窗.如果5個視窗都被占用,那麼後來的人就必須在後面排隊,但後來售票廳人越來越多,已經人滿為患,就類似於執行緒佇列已滿.這時候火車站站長下令,把剩下的5個...