美文网首页
java并发学习-CountDownLatch实现原理

java并发学习-CountDownLatch实现原理

作者: 程序员小2 | 来源:发表于2020-07-12 22:56 被阅读0次

    java并发学习-CountDownLatch实现原理


    CountDownLatch在多线程并发编程中充当一个计时器的功能,并且维护一个count的变量,并且其操作都是原子操作。如下图,内部有下static final的Sync类继承自AQS.

    image

    该类主要通过countDown()和await()两个方法实现功能的,首先通过建立CountDownLatch对象,并且传入参数即为count初始值。如果一个线程调用了await()方法,那么这个线程便进入阻塞状态,并进入阻塞队列。如果一个线程调用了countDown()方法,则会使count-1;当count的值为0时,这时候阻塞队列中调用await()方法的线程便会逐个被唤醒,从而进入后续的操作。

    image

    相关文章

      网友评论

          本文标题:java并发学习-CountDownLatch实现原理

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