1、final CountDownLatch countDown = new CountDownLatch(2);
当参数是2的时候一个countDown.await();需要两个countDown.countDown();唤醒——一个线程或者两个线程皆可
2、CyclicBarrier barrier = new CyclicBarrier(3);
当参数是3时需要三个线程才能唤醒三个线程的barrier.await();
executor.submit(new Thread(new Runner(barrier, "zhangsan")));
executor.submit(new Thread(new Runner(barrier, "lisi")));
executor.submit(new Thread(new Runner(barrier, "wangwu")));
实现Callable<E>,然后重写call()方法,达到多线程的目的