CountDownLatch工具类使用

Posted smallvampire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CountDownLatch工具类使用相关的知识,希望对你有一定的参考价值。

java.util.concurrent.CountDownLatch类是用来做减法计数器的
Demo如下:
public class CountDownLatchDemo {
    public static void main(String[] args) throws InterruptedException {
        CountDownLatch countDownLatch = new CountDownLatch(8);
        for (int i = 1; i <= 8; i++) {
            new Thread(()->{
                System.out.println(Thread.currentThread().getName()+"走了");
                //数量-1
                countDownLatch.countDown();
            },String.valueOf(i)).start();
        }
        /* 等待计数器归零,然后再向下执行 */
        countDownLatch.wait();
        System.out.println("close door");
    }
}
  • new CountDownLatch(8)意思是从8开始递减;
  • countDownLatch.wait()是监听递减值变化,如果到0了,则开始向下的操作

以上是关于CountDownLatch工具类使用的主要内容,如果未能解决你的问题,请参考以下文章

CountDownLatch工具类使用

线程工具类 - CountDownLatch

JUC系列LOCK框架系列之三 同步工具类 CountDownLatch

并发包下常见的同步工具类详解(CountDownLatch,CyclicBarrier,Semaphore)

多线程控制工具类--倒计时器CountDownLatch的使用(模仿火箭发射)

JUC常用同步工具类——CountDownLatch,CyclicBarrier,Semaphore