懂了這些,更好的使用ThreadPoolExecutor

1灿椅、如何合理地選擇或者配置

CachedThreadPool用于并發(fā)執(zhí)行大量短期的小任務(wù)套蒂,或者是負(fù)載較輕的服務(wù)器。

FixedThreadPool 用于負(fù)載比較重的服務(wù)器茫蛹,為了資源的合理利用操刀,需要限制當(dāng)前線(xiàn)程數(shù)量。

SingleThreadExecutor 用于串行執(zhí)行任務(wù)的場(chǎng)景麻惶,每個(gè)任務(wù)必須按順序執(zhí)行,不需要并發(fā)執(zhí)行信夫。

ScheduledThreadPoolExecutor 用于需要多個(gè)后臺(tái)線(xiàn)程執(zhí)行周期任務(wù)窃蹋,同時(shí)需要限制線(xiàn)程數(shù)量的場(chǎng)景。

2静稻、Executor 中submit 和execute區(qū)別

execute和submit的區(qū)別在于submit會(huì)返回Future來(lái)獲取任何執(zhí)行的結(jié)果, submit方便Exception處理警没。

3、一般根據(jù)任務(wù)類(lèi)型進(jìn)行區(qū)分, 假設(shè)CPU為N核

CPU密集型任務(wù)需要減少線(xiàn)程數(shù)量, 降低線(xiàn)程之間切換造成的開(kāi)銷(xiāo), 可配置線(xiàn)程池大小為N + 1.

IO密集型任務(wù)則可以加大線(xiàn)程數(shù)量, 可配置線(xiàn)程池大小為 N * 2.

混合型任務(wù)則可以拆分為CPU密集型與IO密集型, 獨(dú)立配置.

4振湾、保存待執(zhí)行任務(wù)的阻塞隊(duì)列

ArrayBlockingQueue:基于數(shù)組杀迹、有界,按 FIFO(先進(jìn)先出)原則對(duì)元素進(jìn)行排序
LinkedBlockingQueue:基于鏈表押搪,按FIFO (先進(jìn)先出) 排序元素 
    吞吐量通常要高于 ArrayBlockingQueue
    Executors.newFixedThreadPool() 使用了這個(gè)隊(duì)列
SynchronousQueue:不存儲(chǔ)元素的阻塞隊(duì)列 
    每個(gè)插入操作必須等到另一個(gè)線(xiàn)程調(diào)用移除操作树酪,否則插入操作一直處于阻塞狀態(tài)
    吞吐量通常要高于 LinkedBlockingQueue
    Executors.newCachedThreadPool使用了這個(gè)隊(duì)列
PriorityBlockingQueue:具有優(yōu)先級(jí)的、無(wú)限阻塞隊(duì)列

5大州、隊(duì)列飽和策略

CallerRunsPolicy:只要線(xiàn)程池沒(méi)關(guān)閉续语,就直接用調(diào)用者所在線(xiàn)程來(lái)運(yùn)行任務(wù)

AbortPolicy:直接拋出 RejectedExecutionException 異常

DiscardPolicy:悄悄把任務(wù)放生,不做了

DiscardOldestPolicy:把隊(duì)列里待最久的那個(gè)任務(wù)扔了厦画,然后再調(diào)用 execute() 試試看能行不,我們也可以實(shí)現(xiàn)自己的 RejectedExecutionHandler 接口自定義策略疮茄,比如記錄日志
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市根暑,隨后出現(xiàn)的幾起案子力试,更是在濱河造成了極大的恐慌,老刑警劉巖排嫌,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畸裳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡淳地,警方通過(guò)查閱死者的電腦和手機(jī)躯畴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)民鼓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蓬抄,你說(shuō)我怎么就攤上這事丰嘉。” “怎么了嚷缭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵饮亏,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我阅爽,道長(zhǎng)路幸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任付翁,我火速辦了婚禮简肴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘百侧。我一直安慰自己砰识,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布佣渴。 她就那樣靜靜地躺著辫狼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辛润。 梳的紋絲不亂的頭發(fā)上膨处,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音砂竖,去河邊找鬼真椿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛乎澄,可吹牛的內(nèi)容都是我干的瀑粥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼三圆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼狞换!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起舟肉,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤修噪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后路媚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體黄琼,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脏款。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片围苫。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖撤师,靈堂內(nèi)的尸體忽然破棺而出剂府,到底是詐尸還是另有隱情,我是刑警寧澤剃盾,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布腺占,位于F島的核電站,受9級(jí)特大地震影響痒谴,放射性物質(zhì)發(fā)生泄漏衰伯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一积蔚、第九天 我趴在偏房一處隱蔽的房頂上張望意鲸。 院中可真熱鬧,春花似錦尽爆、人聲如沸怎顾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)杆勇。三九已至贪壳,卻和暖如春饱亿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背闰靴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工彪笼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚂且。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓配猫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親杏死。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泵肄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 本文是我自己在秋招復(fù)習(xí)時(shí)的讀書(shū)筆記,整理的知識(shí)點(diǎn)淑翼,也是為了防止忘記腐巢,尊重勞動(dòng)成果,轉(zhuǎn)載注明出處哦玄括!如果你也喜歡冯丙,那...
    波波波先森閱讀 11,239評(píng)論 4 56
  • 第6章介紹了任務(wù)執(zhí)行框架, 它不僅能簡(jiǎn)化任務(wù)與線(xiàn)程的生命周期管理遭京, 而且還提供一 種簡(jiǎn)單靈活的方式將任務(wù)的提交與任...
    好好學(xué)習(xí)Sun閱讀 1,165評(píng)論 0 2
  • “看來(lái)你還沒(méi)有明白我在說(shuō)什么胃惜,我想你是永遠(yuǎn)也不會(huì)明白我在說(shuō)什么泞莉,也不會(huì)明白我在寫(xiě)什么,不然你也不會(huì)去燒我的書(shū)了船殉■瓿茫”...
    愛(ài)倫坡閱讀 773評(píng)論 0 0
  • 很長(zhǎng)時(shí)間以來(lái),我都在想捺弦,你是否真的愛(ài)過(guò)我饮寞,喜歡過(guò)我,有些時(shí)候列吼,答案總是模糊的幽崩,但是,今天寞钥,我開(kāi)始確切慌申,你真的愛(ài)過(guò)我...
    小頎閱讀 233評(píng)論 0 0
  • 日念一日好您炉,為幸福美滿(mǎn)家庭加持第38天柒爵。 一、念老公好:公司開(kāi)大會(huì)去赚爵,去開(kāi)前打電話(huà)說(shuō)明了下棉胀,專(zhuān)注的他,沒(méi)音訊...
    Minmin_b36b閱讀 201評(píng)論 0 0