線(xiàn)程池相關(guān)

線(xiàn)程池

1.幾種常用的線(xiàn)程池

包括:newSingleThreadExecutor、newFixedThreadPool、newCachedThreadPool、newScheduledThreadPool;

1.1 newSingleThreadExecutor

創(chuàng)建一個(gè)單線(xiàn)程的線(xiàn)程池。這個(gè)線(xiàn)程池只有一個(gè)線(xiàn)程在工作,也就是相當(dāng)于單線(xiàn)程串行執(zhí)行所有任務(wù)择份。如果這個(gè)唯一的線(xiàn)程因?yàn)楫惓=Y(jié)束,那么會(huì)有一個(gè)新的線(xiàn)程來(lái)替代它烫堤。此線(xiàn)程池保證所有任務(wù)的執(zhí)行順序按照任務(wù)的提交順序執(zhí)行荣赶。

1.2 newFixedThreadPool

1.2.1 說(shuō)明

創(chuàng)建固定大小的線(xiàn)程池。每次提交一個(gè)任務(wù)就創(chuàng)建一個(gè)線(xiàn)程鸽斟,直到線(xiàn)程達(dá)到線(xiàn)程池的最大大小拔创。線(xiàn)程池的大小一旦達(dá)到最大值就會(huì)保持不變,如果某個(gè)線(xiàn)程因?yàn)閳?zhí)行異常而結(jié)束湾盗,那么線(xiàn)程池會(huì)補(bǔ)充一個(gè)新線(xiàn)程伏蚊。

1.2.2 用法

ExecutorService executor = Executors.newFixedThreadPool(2);
//設(shè)置線(xiàn)程池總計(jì)數(shù)
final CountDownLatch countDownLatch = new CountDownLatch(2);

        //第一個(gè)線(xiàn)程池
        executor.execute(()->{
            try {
                //業(yè)務(wù)處理1
            }finally {
                //計(jì)數(shù)減一
                countDownLatch.countDown();
            }
        });

        //第二個(gè)線(xiàn)程池
        executor.execute(()->{
            try {
                //業(yè)務(wù)處理2
            }finally {
                //計(jì)數(shù)減二
                countDownLatch.countDown();
            }
        });

// 會(huì)阻塞在這里等待 mCountDownLatch 里的count變?yōu)?;
// 也就是等待另外的WorkingThread調(diào)用countDown()
        try {
            countDownLatch.await();
        } catch (InterruptedException e) {
            log.error("處理業(yè)務(wù)信息失敗格粪,失敗信息躏吊,{}", e);
            //拋出異常
            <!-- throw new BusinessException(CommonErrorCode.SYSTEM_INNER_ERROR.getCode(),
                    CommonErrorCode.SYSTEM_INNER_ERROR.getDesc()); -->
        }

1.3 newCachedThreadPool

創(chuàng)建一個(gè)可緩存的線(xiàn)程池。如果線(xiàn)程池的大小超過(guò)了處理任務(wù)所需要的線(xiàn)程帐萎,
那么就會(huì)回收部分空閑(60秒不執(zhí)行任務(wù))的線(xiàn)程比伏,當(dāng)任務(wù)數(shù)增加時(shí),此線(xiàn)程池又可以智能的添加新線(xiàn)程來(lái)處理任務(wù)疆导。此線(xiàn)程池不會(huì)對(duì)線(xiàn)程池大小做限制赁项,線(xiàn)程池大小完全依賴(lài)于操作系統(tǒng)(或者說(shuō)JVM)能夠創(chuàng)建的最大線(xiàn)程大小。

1.4 newScheduledThreadPool

創(chuàng)建一個(gè)大小無(wú)限的線(xiàn)程池。此線(xiàn)程池支持定時(shí)以及周期性執(zhí)行任務(wù)的需求悠菜。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末舰攒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子悔醋,更是在濱河造成了極大的恐慌摩窃,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芬骄,死亡現(xiàn)場(chǎng)離奇詭異猾愿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)账阻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)蒂秘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人淘太,你說(shuō)我怎么就攤上這事姻僧。” “怎么了琴儿?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵段化,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我造成,道長(zhǎng),這世上最難降的妖魔是什么雄嚣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任晒屎,我火速辦了婚禮,結(jié)果婚禮上缓升,老公的妹妹穿的比我還像新娘鼓鲁。我一直安慰自己,他們只是感情好港谊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布骇吭。 她就那樣靜靜地躺著,像睡著了一般歧寺。 火紅的嫁衣襯著肌膚如雪燥狰。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天斜筐,我揣著相機(jī)與錄音龙致,去河邊找鬼。 笑死顷链,一個(gè)胖子當(dāng)著我的面吹牛目代,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼榛了,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼在讶!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起霜大,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤真朗,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后僧诚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體遮婶,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年湖笨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旗扑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡慈省,死狀恐怖臀防,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情边败,我是刑警寧澤袱衷,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站笑窜,受9級(jí)特大地震影響致燥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜排截,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一嫌蚤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧断傲,春花似錦脱吱、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至垦垂,卻和暖如春宦搬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乔外。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工床三, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人杨幼。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓撇簿,卻偏偏與公主長(zhǎng)得像聂渊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子四瘫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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

  • 379.什么是線(xiàn)程池汉嗽? 什么是線(xiàn)程池?線(xiàn)程池是指在初始化一個(gè)多線(xiàn)程應(yīng)用程序過(guò)程中創(chuàng)建一個(gè)線(xiàn)程集合找蜜,然后在需要執(zhí)行新...
    蘇幕遮_凌楓閱讀 337評(píng)論 0 0
  • 前段時(shí)間遇到這樣一個(gè)問(wèn)題饼暑,有人問(wèn)微信朋友圈的上傳圖片的功能怎么做才能讓用戶(hù)的等待時(shí)間較短,比如說(shuō)一下上傳9張圖片,...
    加油碼農(nóng)閱讀 1,190評(píng)論 0 2
  • ThreadPoolExecutor代碼中的注釋 ExcutorService 盡可能使用線(xiàn)程池里的Thread來(lái)...
    李太太的碎碎念閱讀 344評(píng)論 0 0
  • 如果你要開(kāi)啟線(xiàn)程執(zhí)行任務(wù)洗做,你會(huì)怎么做弓叛? 開(kāi)啟一個(gè)線(xiàn)程,然后串行執(zhí)行所有任務(wù) 一個(gè)任務(wù)開(kāi)啟一個(gè)線(xiàn)程诚纸,任務(wù)不會(huì)再等待撰筷,...
    囧囧有神2號(hào)閱讀 306評(píng)論 0 0
  • 教師節(jié),一個(gè)充滿(mǎn)回憶的日子畦徘,有幾個(gè)畫(huà)面卻像刻在腦子里一樣毕籽,今天記下以紀(jì)念你在我身邊,不離不棄的日子井辆。記得當(dāng)年高中第...
    艾薇糖糖閱讀 186評(píng)論 0 0