CountDownLatch是攔截線程等待事件發生,提供了一個countDown方法來操作計數器的值,每調用一次countDown方法計數器都會減1,直到計數器的值減爲0時就代表條件已成熟,所有因調用await方法而阻塞的線程都會被喚醒。
詳細可參考Java併發系列(7)CountDownLatch源碼分析
CyclicBarrier是等待線程,當所有線程都到達某個屏障點後再進行後續的操作。
詳細可參考Java併發系列(8)CyclicBarrier源碼分析
CountDownLatch只進行一次,CyclicBarrier可進行循環等待