AQS

Posted jemb

tags:

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

ReentrantLock内部包含了一个AQS对象,也就是AbstractQueuedSynchronizer类型的对象。这个AQS对象就是ReentrantLock可以实现加锁和释放锁的关键性的核心组件。

技术图片

 

 

线程A,B尝试进行加锁的过程:

 

技术图片

 

 

 

 

CountDownLatch应用场景:并行计算的时候,如果某一个处理过程运算量特别大,可以将这个任务拆分成很多个小的子任务,等待所有子任务计算完,父任务再拿到所有子任务进行汇总,降低处理时间。

 

 

 

以上是关于AQS的主要内容,如果未能解决你的问题,请参考以下文章

AQS(AbstractQueuedSynchronizer)源码深度解析—AQS的设计与总体结构

4.从AbstractQueuedSynchronizer(AQS)说起——AQS结语

AQS 详解

AQS学习

Java AQS学习

AQS 源码分析