CyclicBarrier

循环使用屏障:让一组线程等待至某个状态之后再全部同时执行

也是count

内部使用了ReentrantLock和Condition

默认的构造方法是CyclicBarrier(int parties),其参数表示屏障拦截的线程数量,每个线程使用await()方法告诉CyclicBarrier我已经到达了屏障,然后当前线程被阻塞

线程执行 await() 方法之后count会减 1,并进行等待,直到count为 0,所有调用 await() 方法而在等待的线程才能继续执行