線程池

優(yōu)勢?

降低系統(tǒng)資源消耗咨油,通過重用已存在的線程,降低線程創(chuàng)建和銷毀造成的消耗原在;

提高系統(tǒng)響應(yīng)速度友扰,當有任務(wù)到達時,無需等待新線程的創(chuàng)建便能立即執(zhí)行庶柿;

③方便線程并發(fā)數(shù)的管控村怪,線程若是無限制的創(chuàng)建,不僅會額外消耗大量系統(tǒng)資源浮庐,更是占用過多資源而阻塞系統(tǒng)或oom等狀況甚负,從而降低系統(tǒng)的穩(wěn)定性。線程池能有效管控線程审残,統(tǒng)一分配梭域、調(diào)優(yōu),提供資源使用率搅轿;

④更強大的功能碰辅,線程池提供了定時、定期以及可控線程數(shù)等功能的線程池介时,使用方便簡單没宾。

二 使用 創(chuàng)建 線程池?

??ExecutorService service =newThreadPoolExecutor(....);

publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)

corePoolSize? 核心線程??

核心線程一直存活在線程池中凌彬,即便他們在線程池中處于閑置狀態(tài)。除非我們將ThreadPoolExecutor的allowCoreThreadTimeOut屬性設(shè)為true的時候

maximumPoolSize?最大線程數(shù)

keepAliveTime? 時間?

非核心線程閑置時的超時時長循衰,對于非核心線程铲敛,閑置時間超過這個時間,非核心線程就會被回收会钝。只有對ThreadPoolExecutor的allowCoreThreadTimeOut屬性設(shè)為true的時候伐蒋,這個超時時間才會對核心線程產(chǎn)生效果。

unit? 時間單位?

可以使用的單位有天(TimeUnit.DAYS)迁酸,小時(TimeUnit.HOURS)先鱼,分鐘(TimeUnit.MINUTES),毫秒(TimeUnit.MILLISECONDS)奸鬓,微秒(TimeUnit.MICROSECONDS, 千分之一毫秒)和毫微秒(TimeUnit.NANOSECONDS, 千分之一微秒);

workQueue?阻塞隊列?

通過線程池中的execute方法提交的Runable對象都會存儲在該隊列中焙畔。我們可以選擇下面幾個阻塞隊列。

執(zhí)行流程??

①如果在線程池中的線程數(shù)量沒有達到核心的線程數(shù)量串远,這時候就回啟動一個核心線程來執(zhí)行任務(wù)宏多。

②如果線程池中的線程數(shù)量已經(jīng)超過核心線程數(shù),這時候任務(wù)就會被插入到任務(wù)隊列中排隊等待執(zhí)行澡罚。

③由于任務(wù)隊列已滿伸但,無法將任務(wù)插入到任務(wù)隊列中。這個時候如果線程池中的線程數(shù)量沒有達到線程池所設(shè)定的最大值留搔,那么這時候就會立即啟動一個非核心線程來執(zhí)行任務(wù)更胖。

④如果線程池中的數(shù)量達到了所規(guī)定的最大值,那么就會拒絕執(zhí)行此任務(wù)隔显,這時候就會調(diào)用RejectedExecutionHandler中的rejectedExecution方法來通知調(diào)用者函喉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荣月,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梳毙,老刑警劉巖哺窄,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異账锹,居然都是意外死亡萌业,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門奸柬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來生年,“玉大人,你說我怎么就攤上這事廓奕”瘢” “怎么了档叔?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蒸绩。 經(jīng)常有香客問我衙四,道長,這世上最難降的妖魔是什么患亿? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任传蹈,我火速辦了婚禮,結(jié)果婚禮上步藕,老公的妹妹穿的比我還像新娘惦界。我一直安慰自己,他們只是感情好咙冗,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布沾歪。 她就那樣靜靜地躺著,像睡著了一般乞娄。 火紅的嫁衣襯著肌膚如雪瞬逊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天仪或,我揣著相機與錄音确镊,去河邊找鬼。 笑死范删,一個胖子當著我的面吹牛蕾域,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播到旦,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼旨巷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了添忘?” 一聲冷哼從身側(cè)響起采呐,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搁骑,沒想到半個月后斧吐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡仲器,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年煤率,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乏冀。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝶糯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辆沦,到底是詐尸還是另有隱情昼捍,我是刑警寧澤识虚,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站端三,受9級特大地震影響舷礼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜郊闯,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一妻献、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧团赁,春花似錦育拨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怀挠,卻和暖如春析蝴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绿淋。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工闷畸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吞滞。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓佑菩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親裁赠。 傳聞我的和親對象是個殘疾皇子殿漠,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

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

  • 為什么使用線程池 當我們在使用線程時,如果每次需要一個線程時都去創(chuàng)建一個線程佩捞,這樣實現(xiàn)起來很簡單绞幌,但是會有一個問題...
    閩越布衣閱讀 4,291評論 10 45
  • 一.Java中的ThreadPoolExecutor類 java.uitl.concurrent.ThreadPo...
    誰在烽煙彼岸閱讀 645評論 0 0
  • 六月一過莲蜘,便離開校園步入社會這個大熔爐,心里還真是覺得這是件讓不愉快的事情掀潮,但卻毫無辦法。 身邊的琼富,所看到的同學仪吧,...
    毛十三吶閱讀 555評論 0 1
  • [美樂愛覺]36天 20170109 1-老媽60大壽薯鼠,兄弟姐妹齊聚哥哥家為老媽慶生择诈。平時大家工作都很忙,雖然相...
    英曼繪生活閱讀 1,477評論 1 1
  • 風怒吼著出皇,搖動著樹葉羞芍,雨瓢潑著把天地接在了一起。開著車的我不停的打著雨刷郊艘,心情也像這狂風暴雨的天一樣荷科,糟糟的。 “...
    淡然若怡閱讀 185評論 0 0