日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

美團面試官:核心線程數(shù)為0時,線程池如何執(zhí)行?

來源: 責編: 時間:2024-05-08 09:19:40 232觀看
導讀線程池是 Java 中用于提升程序執(zhí)行效率的主要手段,也是并發(fā)編程中的核心實現(xiàn)技術(shù),并且它也被廣泛的應(yīng)用在日常項目的開發(fā)之中。那問題來了,如果把線程池中的核心線程數(shù)設(shè)置為 0 時,線程池是如何執(zhí)行的?要回答這個問題,我們

線程池是 Java 中用于提升程序執(zhí)行效率的主要手段,也是并發(fā)編程中的核心實現(xiàn)技術(shù),并且它也被廣泛的應(yīng)用在日常項目的開發(fā)之中。那問題來了,如果把線程池中的核心線程數(shù)設(shè)置為 0 時,線程池是如何執(zhí)行的?9Qg28資訊網(wǎng)——每日最新資訊28at.com

要回答這個問題,我們首先要了解在正常情況下,線程池的執(zhí)行流程,也就是說當有一個任務(wù)來了之后,線程池是如何運行的?9Qg28資訊網(wǎng)——每日最新資訊28at.com

1.線程池的執(zhí)行流程

正常情況下(核心線程數(shù)不為 0 的情況下)線程池的執(zhí)行流程如下:9Qg28資訊網(wǎng)——每日最新資訊28at.com

  1. 判斷核心線程數(shù):先判斷當前工作線程數(shù)是否大于核心線程數(shù),如果結(jié)果為 false,則新建線程并執(zhí)行任務(wù)。
  2. 判斷任務(wù)隊列:如果大于核心線程數(shù),則判斷任務(wù)隊列是否已滿?如果結(jié)果為 false,則把任務(wù)添加到任務(wù)隊列中等待線程執(zhí)行。
  3. 判斷最大線程數(shù):如果任務(wù)隊列已滿,則判斷當前線程數(shù)量是否超過最大線程數(shù)?如果結(jié)果為 false,則新建線程執(zhí)行此任務(wù)。
  4. 判斷是否要執(zhí)行拒絕策略:如果超過最大線程數(shù),則將執(zhí)行線程池的拒絕策略。

如下圖所示:9Qg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9Qg28資訊網(wǎng)——每日最新資訊28at.com

核心線程數(shù) VS 最大線程數(shù)

核心線程數(shù)(corePoolSize)和最大線程數(shù)(maximumPoolSize)都是線程池中的兩個重要參數(shù),其中:9Qg28資訊網(wǎng)——每日最新資訊28at.com

  1. 核心線程數(shù)定義了線程池中最小線程數(shù)量,即使這些線程處于空閑狀態(tài),也不會被銷毀。
  2. 最大線程數(shù)定義了線程池中允許的最大線程數(shù)量,最大線程數(shù)等于核心線程數(shù) + 臨時線程數(shù),最大線程數(shù)主要是提供了一種機制來應(yīng)對突發(fā)的高并發(fā)請求,當有大量任務(wù)的時候,可以創(chuàng)建線程數(shù)量的上線。

PS:在線程池的使用過程中,最大線程數(shù)必須大于等于核心線程數(shù),否則程序執(zhí)行會報錯。9Qg28資訊網(wǎng)——每日最新資訊28at.com

2.核心線程為0的執(zhí)行流程

那么問題來了,按照線程池的正常執(zhí)行流程來看,如果核心線程數(shù)為 0 的話,那么當任務(wù)來了之后會判斷當前工作的線程數(shù)不大于核心線程數(shù),那也就不會創(chuàng)建線程執(zhí)行任務(wù)了,會將任務(wù)放到隊列。9Qg28資訊網(wǎng)——每日最新資訊28at.com

但這個結(jié)果又很滑稽,有任務(wù)來了線程池竟然不執(zhí)行,而是先放到任務(wù)隊列中,這好像有比較奇怪,這就好比你開了一個快遞店,當有快遞來了之后,你想的不是如何派送,而是直接把它丟到倉庫一樣滑稽,這會讓等快遞的人很著急,所以,我們需要驗證一下線程池的執(zhí)行是否如我們猜想的那般,驗證代碼如下:9Qg28資訊網(wǎng)——每日最新資訊28at.com

// 線程池核心線程數(shù)設(shè)置為 0ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(                0, 10, 1, TimeUnit.SECONDS,                new ArrayBlockingQueue<>(10));// 給線程池添加任務(wù)threadPoolExecutor.execute(() -> {    System.out.println("www.javacn.site");});

最終程序的執(zhí)行結(jié)果如下:9Qg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9Qg28資訊網(wǎng)——每日最新資訊28at.com

咦,結(jié)果怎么不符合我們的預期呢?為什么任務(wù)來了之后,沒有將任務(wù)放到任務(wù)隊列而是直接執(zhí)行了呢?9Qg28資訊網(wǎng)——每日最新資訊28at.com

雖然程序執(zhí)行結(jié)果符合正常邏輯,但又和我們了解的線程池執(zhí)行理論相違背,這是什么原因呢?9Qg28資訊網(wǎng)——每日最新資訊28at.com

查看線程池的執(zhí)行源碼

帶著這個疑問,我們查看了線程池的執(zhí)行源碼發(fā)現(xiàn),線程池的執(zhí)行過程遠比我們想想的復雜,線程池核心源碼如下:9Qg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9Qg28資訊網(wǎng)——每日最新資訊28at.com

從上面源碼可以看出,當我們將任務(wù)添加到隊列的時候,線程池會判斷工作的線程數(shù)是否為 0,也就是上面圈出來的那行代碼,如果當前工作線程為 0 的話,會創(chuàng)建線程執(zhí)行任務(wù)。哦,原來如此,這樣,就能將理論和實踐對應(yīng)上了。9Qg28資訊網(wǎng)——每日最新資訊28at.com

也就是說,當核心線程數(shù)為 0 時,當來了一個任務(wù)之后,會先將任務(wù)添加到任務(wù)隊列,同時也會判斷當前工作的線程數(shù)是否為 0,如果為 0,則會創(chuàng)建線程來執(zhí)行線程池的任務(wù),這就是正確的線程池執(zhí)行流程,同時也是面試官想要的答案。9Qg28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-87259-0.html美團面試官:核心線程數(shù)為0時,線程池如何執(zhí)行?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 十項快速檢查,確保你的 AWS 支出處于控制之中

下一篇: 虛擬現(xiàn)實與增強現(xiàn)實:數(shù)字轉(zhuǎn)型的下一個前沿

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
一区免费视频| 国产精品拍天天在线| 久久成人综合网| 久久国产乱子精品免费女| 性色av一区二区三区| 性色av一区二区三区在线观看| 午夜在线观看免费一区| 亚洲剧情一区二区| 一区二区高清视频| 亚洲欧美日韩国产成人| 欧美在线观看网址综合| 久久午夜国产精品| 欧美福利专区| 欧美精品久久一区二区| 欧美日韩色一区| 国产精品一区二区男女羞羞无遮挡| 国产日产精品一区二区三区四区的观看方式| 国产人成精品一区二区三| 国产综合色在线| 在线观看日韩av| 亚洲日本中文| av成人免费| 欧美一级片一区| 久久精品一区二区国产| 欧美成人免费在线| 国产精品v欧美精品v日韩| 国产婷婷色一区二区三区| 在线精品视频一区二区三四| 日韩视频一区| 欧美一区91| 嫩草成人www欧美| 国产精品v欧美精品v日本精品动漫 | 欧美精品日韩| 国产精品电影观看| 韩国成人福利片在线播放| 永久域名在线精品| 亚洲欧洲精品一区二区三区波多野1战4| 日韩视频一区二区三区在线播放免费观看 | 国产精品久久久久久户外露出| 好吊视频一区二区三区四区| 在线综合亚洲欧美在线视频| 久久亚洲综合网| 国产欧美亚洲日本| 亚洲深夜av| 欧美成人高清| 国内自拍一区| 亚洲欧美日韩精品久久奇米色影视| 欧美激情在线播放| 伊人春色精品| 久久电影一区| 国产精品视频专区| 这里只有精品丝袜| 欧美日韩大陆在线| 亚洲欧洲三级| 久久看片网站| 国产一区二区精品丝袜| 亚洲欧美成aⅴ人在线观看| 欧美另类高清视频在线| 亚洲国产精品ⅴa在线观看| 久久久久久久久久久一区| 国产日韩精品久久| 亚洲欧美日韩国产一区二区| 国产精品扒开腿做爽爽爽视频| 亚洲作爱视频| 欧美日本免费| 亚洲日本中文| 欧美激情一区二区三区不卡| 91久久在线观看| 欧美顶级大胆免费视频| 91久久精品一区二区三区| 狂野欧美一区| 在线看视频不卡| 巨乳诱惑日韩免费av| 激情久久久久久| 久久久久看片| 在线观看视频一区二区欧美日韩| 久久久欧美精品| 黄色一区二区三区四区| 久久精品在线| 永久免费毛片在线播放不卡| 久久夜色精品国产| 在线免费观看日韩欧美| 美女国产精品| 亚洲日本黄色| 欧美片第一页| 中文亚洲免费| 国产精品免费一区豆花| 亚洲欧美日韩专区| 国产精品一区二区久激情瑜伽| 欧美一区高清| 精品二区视频| 欧美福利电影网| 日韩西西人体444www| 欧美视频日韩| 亚洲欧美日韩国产中文 | 亚洲国产精品女人久久久| 欧美大片在线观看一区| 亚洲精品小视频| 欧美日韩综合另类| 亚洲欧美乱综合| 国产亚洲午夜| 免费看成人av| 亚洲美洲欧洲综合国产一区| 欧美视频在线观看| 性欧美xxxx视频在线观看| 国产最新精品精品你懂的| 美女精品在线观看| 99精品国产在热久久婷婷| 国产精品久久久久久久久借妻| 性色av一区二区三区红粉影视| 黄色亚洲网站| 欧美日韩国产成人| 亚洲免费视频成人| 国产综合久久| 欧美激情亚洲一区| 亚洲一区在线免费| 国产亚洲欧美激情| 牛牛国产精品| 亚洲视频在线观看视频| 国产欧美精品日韩区二区麻豆天美 | 亚洲国产日韩综合一区| 久久久久久九九九九| 亚洲激情另类| 国产精品进线69影院| 久久精品盗摄| 亚洲区欧美区| 国产精品伊人日日| 美女诱惑一区| 亚洲一级在线观看| 永久久久久久| 国产精品久久久久99| 久久亚洲欧美| 亚洲图片欧洲图片av| 精品二区视频| 欧美亚男人的天堂| 久久综合狠狠综合久久综合88 | 久久久精品性| 一区二区精品| 红桃视频一区| 国产精品高清网站| 久久综合九色综合欧美就去吻| 亚洲社区在线观看| 在线激情影院一区| 国产精品欧美一区喷水| 欧美成人按摩| 久久精品盗摄| 亚洲一区久久久| 亚洲黄色av| 国产日韩一区二区三区在线播放 | 美女日韩欧美| 午夜在线a亚洲v天堂网2018| 亚洲精品日产精品乱码不卡| 国产亚洲一区二区三区在线播放| 欧美日本三区| 噜噜噜在线观看免费视频日韩| 亚洲欧美日韩国产另类专区| 亚洲美女av在线播放| 国产一区二区久久久| 欧美性理论片在线观看片免费| 免费观看30秒视频久久| 欧美主播一区二区三区美女 久久精品人 | 99re热这里只有精品免费视频| 国自产拍偷拍福利精品免费一| 国产精品mv在线观看| 欧美不卡福利| 久久久久久久91| 欧美在线视频在线播放完整版免费观看 | 国产精品久久久久毛片软件| 欧美成人69| 久久亚洲色图| 欧美有码在线观看视频| 亚洲视频在线一区| 亚洲乱码国产乱码精品精| 永久555www成人免费| 国产一区二区中文| 国产欧美日韩综合| 国产精品老牛| 欧美日韩亚洲一区三区 | 猫咪成人在线观看| 久久久久久久欧美精品| 欧美在线高清视频| 欧美一激情一区二区三区| 亚洲视频在线观看视频| 99精品国产在热久久| 亚洲欧洲中文日韩久久av乱码| 黄色亚洲网站| 国产一区二区在线观看免费播放| 国产精品卡一卡二| 国产精品久久久久一区| 欧美午夜一区二区三区免费大片| 欧美日韩性生活视频| 欧美日韩国产三级| 欧美精品九九| 欧美精品一区在线观看| 欧美激情视频一区二区三区免费| 欧美成人69| 欧美精品色网| 欧美日韩国产123区| 欧美日韩三级在线| 国产精品高清网站| 国产精品毛片va一区二区三区| 国产精品久久久久毛片软件 | 欧美第一黄网免费网站| 欧美激情第10页|