什么是AQS

发布时间 2023-05-08 12:19:17作者: 追风远航

AQS(AbstractQueuedSynchronizer),即队列同步器,它是构建锁或者其他同步组件的基础框架,如ReentrantLock、ReentrantReadWriteLock、Semaphore,CountDownLatch等。

AQS是一个抽象类,主要是通过继承方式使用,本身没有实现任何接口,仅仅是定义了同步状态的获取和释放的方法。AQS解决了了之类实现同步器的大量细节问题,例如获取同步状态,FIFO队列,入队和出队。自定义同步器在实现时候只需要实现共享资源state的获取和释放即可,至于获取资源失败入队/唤醒出队等,AQS在顶层已经定义好了。