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();
    }
}

 

posted @ 2018-06-03 16:23  默默行走  阅读(129)  评论(0编辑  收藏  举报