美文网首页
java.util.concurrent.CountDownLa

java.util.concurrent.CountDownLa

作者: 奋斗的韭菜汪 | 来源:发表于2020-06-23 21:35 被阅读0次

CountDownLatch: .await方法 用到共享锁 getState 是一个计数器,当计数器大于0获取共享锁,若等于0不需要加锁
CountDownLatch:内部有一个sync同步工具集成了AQS

public class CountDownLatchDemo {
    public static void main(String[] args) throws InterruptedException {
        //计算器为3
        CountDownLatch countDownLatch = new CountDownLatch(3);

        new Thread(() -> {
            //计算器-1
            countDownLatch.countDown();
        }).start();

        new Thread(() -> {
            //计算器-1
            countDownLatch.countDown();
        }).start();

        new Thread(() -> {
            //计算器-1
            countDownLatch.countDown();
        }).start();

        //使用场景:1、并行请求,比如100个线程同时进行,可以使用countDown结合await阻塞处理
        //2、
        countDownLatch.await();//主线程阻塞,直到计算器变为0
        System.out.println("完毕");
    }
}

运行结果

完毕

Process finished with exit code 0

相关文章

网友评论

      本文标题:java.util.concurrent.CountDownLa

      本文链接:https://www.haomeiwen.com/subject/siskfktx.html