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工具类使用的主要内容,如果未能解决你的问题,请参考以下文章
JUC系列LOCK框架系列之三 同步工具类 CountDownLatch
并发包下常见的同步工具类详解(CountDownLatch,CyclicBarrier,Semaphore)