亚洲农村老熟妇肥BBBB_无码人妻精品一区二区蜜桃色_精品亚洲AⅤ无码午夜在线观看_中文字幕熟妇人妻在线视频_囯产色无码精品视频免费

當前位置: 首頁 > 科技新聞 >

秒懂 CountDownLatch 與 CyclicBarrier 使用場景

時間:2021-08-30 16:32來源:網(wǎng)絡整理 瀏覽:
相信每個想深入了解多線程開發(fā)的Java開發(fā)者都會遇到CountDownLatch和CyclicBarrier,大家也在網(wǎng)上看到各種介紹原理,

相信每個想深入了解多線程開發(fā)的Java開發(fā)者都會遇到CountDownLatch和CyclicBarrier,大家也在網(wǎng)上看到各種介紹原理,代碼的,以及他們區(qū)別(應付面試)的,但是很少能講清楚:他們到底有啥作用,怎么用,應用那些場景?為什么面試總會遇到?本文結合場景為大家加深理解。

官方解釋:

秒懂 CountDownLatch 與 CyclicBarrier 使用場景

翻譯:

CountDownLatch是一個同步的輔助類,允許一個或多個線程,等待其他一組線程完成操作,再繼續(xù)執(zhí)行。

CyclicBarrier是一個同步的輔助類,允許一組線程相互之間等待,達到一個共同點,再繼續(xù)執(zhí)行。

他們都是:Synchronization aid,我把它翻譯成同步輔助器,既然是輔助工具,怎么使用???哪些場景使用啊?

個人理解:CountDownLatch:我把他理解成倒計時鎖

場景還原:一年級期末考試要開始了,監(jiān)考老師發(fā)下去試卷,然后坐在講臺旁邊玩著手機等待著學生答題,有的學生提前交了試卷,并約起打球了,等到最后一個學生交卷了,老師開始整理試卷,貼封條,下班,陪老婆孩子去了。

補充場景:我們在玩LOL英雄聯(lián)盟時會出現(xiàn)十個人不同加載狀態(tài),但是最后一個人由于各種原因始終加載不了100%,于是游戲系統(tǒng)自動等待所有玩家的狀態(tài)都準備好,才展現(xiàn)游戲畫面。推薦:Java進階視頻資源

抽象圖:

秒懂 CountDownLatch 與 CyclicBarrier 使用場景

每位乘客(線程)上車后,可用座位減1,直到為0,老司機就開始發(fā)車了。

個人理解:CyclicBarrier:可看成是個障礙,所有的線程必須到齊后才能一起通過這個障礙

場景還原:以前公司組織戶外拓展活動,幫助團隊建設,其中最重要一個項目就是全體員工(包括女同事,BOSS)在完成其他項目時,到達一個高達四米的高墻沒有任何抓點,要求所有人,一個不能少的越過高墻,才能繼續(xù)進行其他項目。

抽象圖:

秒懂 CountDownLatch 與 CyclicBarrier 使用場景

解放軍叔叔完美配合,一個都不能少,繼續(xù)完成任務。

我這里只是為了促進大家更好地理解它們的應用場景,詳細用法可以自行Google。

(感謝閱讀,希望對你所有幫助)

來源:blog.csdn.net/zzg1229059735/article/details/61191679

推薦內(nèi)容