該類又叫欄刪。類CyclicBarrier不僅有CountDownLatch所具有的所有功能。還可以實現屏障等待的功能,也就是階段性的同步。它在使用上的意義在于可以循環地實現線程要一起做任務的目標,而不是像CountDownLatch一樣,僅僅支持一次線程與同步點阻塞的特性,類CyclicBarrier和Semaphore以及COuntDownLatch一樣,也是一個同步輔助類,它允許一組線程相互等待,直到到達某個公共屏障點,這些線程就必須實施相互等待。
(1)CountDownLatch作用:一個線程或者多個線程,等待另外一個線程或者多個線程完成某個事件之后才能繼續執行。
(2)CyclicBarrie的作用:多個線程之間相互等待,任何一個線程完成之前,所有的線程都必須等待,所以對該類來說,重點是 多個線程之間 任何一個線程沒有完成任務,則所有事情之后必須等待。
CountDownLatcch類的使用情況是兩個角色之間之間相互等待,而CyclicBarrier的使用情況是同類相互等待。CyclicBarrier是加法技術。
如果線程個數大于parties數量時可以進行分批處理的。這個就不做演示了。