CyclicBarrier的官方解釋:函數
A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier point.
CyclicBarrier是一個同步的輔助類,容許一組線程相互之間等待,達到一個共同點,再繼續執行。spa
CountDownLatch的官方解釋:.net
A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes.
CountDownLatch是一個同步的輔助類,容許一個或多個線程,等待其餘一組線程完成操做,再繼續執行。線程
CountDownLatch
場景神還原:code
一年級期末考試要開始了,監考老師發下去試卷,而後坐在講臺旁邊玩着手機等待着學生答題,有的學生提早交了試卷,並約起打球了,等到最後一個學生交卷了,老師開始整理試卷,貼封條,下班,陪老婆孩子去了。這裏提早交卷的學生(能夠理解爲線程),作完本身的試卷是能夠去幹本身的事的。而老師只能等待全部的學生所有答完試卷之後才能夠幹本身的事情。
CountDownLatch
場景補充:orm
玩LOL英雄聯盟時會出現十我的不一樣加載狀態,可是最後一我的因爲各類緣由始終加載不了100%,因而遊戲系統自動等待全部玩家的狀態都準備好,才展示遊戲畫面。
抽象圖:(感受很形象)blog
每位乘客(線程)上車後,可用座位減1,直到爲0,老司機就開始發車了。遊戲
CyclicBarrier:可當作是個障礙,全部的線程必須到齊後才能一塊兒經過這個障礙。
CyclicBarrier
場景:公司組織戶外拓展活動,幫助團隊建設,其中最重要一個項目就是全體員工(包括女同事,BOSS)在完成其餘項目時,到達一個高達四米的高牆沒有任何抓點,要求全部人,一個不能少的越太高牆,才能繼續進行其餘項目。其中越太高牆的人,並不能幹本身的事,或者去進行下一個項目,必須所有人員都翻太高牆後才能夠進行下一個項目。圖片
總結:
以上內容大部分來自:https://blog.csdn.net/zzg1229...rem