latch翻譯成中文_LATCH是啥意思

latch翻譯成中文_LATCH是啥意思

latch翻譯成中文_LATCH是啥意思

一、簡(jiǎn)介

CountDownLatch是線程同步輔助類,使用這個(gè)輔助類可以讓線程等待其他線程完成一組操作后才能執(zhí)行,否則一直等待。

二、大致原理

構(gòu)造器采取一個(gè)整數(shù)來(lái)初始化等待其他線程的數(shù)量,使用await()方法讓線程開始等待其他線程執(zhí)行完畢,每一個(gè)線程執(zhí)行完成后需調(diào)用countDown()方法,這個(gè)方法會(huì)讓計(jì)數(shù)器-1(AQS的state),當(dāng)計(jì)數(shù)器為0的時(shí)候,CountDownLatch類將喚醒所有調(diào)用await()方法的線程。 其實(shí)就是初始化state=n,然后每次countDown都調(diào)用release方法進(jìn)行-1。這些都是aqs的知識(shí),早就講過(guò)了。

三、Demo

1、需求

完成這樣的一個(gè)需求,大家視頻會(huì)議,一共10個(gè)人,都到齊了后就開始視頻會(huì)議,沒到齊的話領(lǐng)導(dǎo)(主線程)是不會(huì)講話的。

2、源碼

3、輸出結(jié)果

4、結(jié)果分析

  • 首先輸出等待人數(shù):10
  • 然后進(jìn)入await(),代表著進(jìn)入WAITING狀態(tài),等待其他10個(gè)線程都完事后才會(huì)叫醒此線程
  • 每次只需countDown都代表著線程執(zhí)行完畢1次。
  • ...
  • 最后輸出還有0人沒到,這時(shí)候代表其他線程都執(zhí)行完畢,會(huì)喚醒所有調(diào)用await()方法的線程
  • 輸出人都來(lái)全了,我們開始開會(huì)...

四、應(yīng)用場(chǎng)景

1、比如對(duì)于馬拉松比賽,進(jìn)行排名計(jì)算,參賽者的排名,肯定是跑完比賽之后,進(jìn)行計(jì)算得出的,翻譯成Java識(shí)別的預(yù)發(fā),就是N個(gè)線程執(zhí)行操作,主線程等到N個(gè)子線程執(zhí)行完畢之后,在繼續(xù)往下執(zhí)行。2、也可以作為系統(tǒng)資源的有效回收,比如N個(gè)線程在操作文件,操作完成后主線程進(jìn)行文件整理等操作

五、源碼解讀

1、類架構(gòu)

2、構(gòu)造器

3、await()方法

4、countDown()方法

熱點(diǎn)圖片

備案號(hào):贛ICP備2022005379號(hào)
華網(wǎng)(http://www.668528.com) 版權(quán)所有未經(jīng)同意不得復(fù)制或鏡像

QQ:51985809郵箱:51985809@qq.com

主站蜘蛛池模板: 日本一区二区三区四区| 国产美女久久久久| 无码视频免费一区二三区| 日本簧片在线观看| 小唐璜情史在线播放| 婷婷社区五月天| 国产欧美精品一区二区三区| 国产欧美曰韩一区二区三区| 四影虎影ww4hu32海外网页版| 国产a级小龙女乱理片| 亚洲精品国产精品国自产观看| 乱子伦农村xxxx视频| japanese日本熟妇多毛| 99re热视频在线| 16女性下面无遮挡免费| 四虎1515hh永久久免费| 精东影业jdav1me| 波多野结衣mxgs-983| 欧美大尺度电影| 成人一a毛片免费视频| 在线观看噜噜噜私人影院| 国产精品自产拍高潮在线观看 | 国产av一区二区三区日韩| 免费的看黄网站| 久久午夜国产片| 中文字字幕码一二区| www.99精品视频在线播放| 88国产精品视频一区二区三区| 1024香蕉视频| 老师~你的技术真好好大| 欧美日韩中文国产一区| 极品丰满美女国模冰莲大尺度| 日韩欧国产精品一区综合无码| 女博士梦莹凌晨欢爱| 国产精品无码一区二区三区免费| 国产国产精品人在线视| 亚洲欧美日韩综合久久| 乱人伦精品视频在线观看| 99精品国产在热久久| 美女羞羞视频网站| 波多野结衣一区二区免费视频|