并发编程辅助工具-java.util.concurrent

1. CountDownLatch

类似于计数器的功能,主要用于控制某个任务的执行先后顺序,可以控制某个任务在其他任务(可能是多线程的)执行完

之后,才会去执行。

    public static void main(String[] args) {
        CountDownLatch countDownLatch = new CountDownLatch(1);//初始化一个countDownLatch对象
        new Thread() {//开启一个线程
            public void run() {
                try {
                    Thread.sleep(4000);
                    System.out.println("111");
                    countDownLatch.countDown();//线程结束时,将计数减1
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
        try {
            countDownLatch.await();//会一直阻塞等到,直到计数器为0时才会去执行接下来的代码
            System.out.println("*****");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

2. CyclicBarrier

3. Semaphore

参考

http://www.importnew.com/21889.html

原文地址:https://www.cnblogs.com/yanliang12138/p/9816733.html