前言

AQS是AbstractQueuedSynchronizer抽象队列同步器的简称,JDK1.5引入,位于java.util.concurrent并发编程包,简称juc,其中的并发工具类基本都是围绕AQS提供的抽象同步队列完成,可以分为locks锁、atomic原子类、queue队列、并发容器、线程及线程池相关等。
这些工具类,屏蔽了底层实现细节,简化了上层开发。Java在并发领域的普及与juc的功能息息相关,代码贡献者是大名鼎鼎的Doug Lea
Doug Lea.jpeg

应用案例

实现原理

AQS框架体系

Condition类

AQS源码

CLH队列

Node类

实现细节



AbstractQueuedSynchronizer.png

参考文档: