CountDownLanchDemo
package com.fh.interview; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * @author * @create 2018-06-03 下午3:35 **/ public class CountDownLauchDemo { private static CountDownLatch startSign = new CountDownLatch(1); private static CountDownLatch endSign = new CountDownLatch(6); public static void main(String[] args) throws Exception { ExecutorService pool = Executors.newFixedThreadPool(6); for (int i=0;i<6;i++){ pool.execute(new Runnable() { @Override public void run() { try { System.out.println(Thread.currentThread().getName()+"等待裁判吹哨"); startSign.await(); System.out.println(Thread.currentThread().getName()+"全力冲刺"); endSign.countDown(); System.out.println(Thread.currentThread().getName()+"到达终点"); }catch (Exception e){ e.printStackTrace(); } } }); } System.out.println("吹啦"); startSign.countDown(); endSign.await(); System.out.println("结束额"); pool.shutdown(); } }