另外,其还有一些其他方法
  方法摘要
  int await()
  在所有参与者都已经在此 barrier 上调用 await 方法之前,将一直等待。
  int await(long timeout, TimeUnit unit)
  在所有参与者都已经在此屏障上调用 await 方法之前,将一直等待。
  int getNumberWaiting()
  返回当前在屏障处等待的参与者数目。
  int getParties()
  返回要求启动此 barrier 的参与者数目。
  boolean isBroken()
  查询此屏障是否处于损坏状态。
  void reset()
  将屏障重置为其初始状态。
  。。
  既然提到了CyclicBarrier,不得不提到另一个相似功能的工具类:CountDownLatch
  CyclicBarrier是一个栅栏,其是将走到await()方法的线程进行拦截,直到等待全部的线程走到这个栅栏。
  CountDownLatch是一个计数器,其是线程走到await()方法时,进行等待计数,将在计数到达指定值时才继续往下走。
  public class CountDownLatchTest {
  static CountDownLatch c = new CountDownLatch(2);
  public static void main(String[] args) throws InterruptedException {
  new Thread(new Runnable() {
  @Override
  public void run() {
  System.out.println(1);
  //进行计数,计数-1
  c.countDown();
  System.out.println(2);
  //进行计数,计数-1
  c.countDown();
  }
  }).start();
  //主线程等待计数
  c.await();
  System.out.println("3");
  }
  }
  CountDownLatch当计数到0时,计数无法被重置;CyclicBarrier计数达到指定值时,计数置为0重新开始。
  CountDownLatch每次调用countDown()方法计数减一,调用await()方法只进行阻塞,对计数没任何影响;
  CyclicBarrier只有一个await()方法,调用await()方法计数加1,若加1后的值不等于构造方法的值,则线程阻塞。
  主要方法
  public CountDownLatch(int count);
  public void countDown();
  public void await() throws InterruptedException