AQS
介绍:
用途:是并发包的一个基础组件,用来实现各种锁,各种同步组件。ReentrantLock就是用AQS实现的
比如,Semaphore用它来表现剩余的许可数,ReentrantLock用它来表现拥有它的线程已经请求了多少次锁;FutureTask用它来表现任务的状态等。
使用 AQS 来实现一个同步器需要覆盖实现如下几个方法,并且使用
getState
、setState
和compareAndSetState
这三个方法来操作状态。AQS全称:AbstractQueuedSynchrinizer,抽象队列同步器。