欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

AQS

最编程 2024-05-05 14:40:40
...

概念

AQS 的全称是 AbstractQueuedSynchronized (抽象队列同步器),在java.util.concurrent.locks包下面。
AQS是一个抽象类,主要用来构建锁和同步器,比如ReentrantLock, Semaphore, CountDownLatch,里面都用到了Sync类, Sync类是AQS的子类。

public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable {
}

AQS原理

有一个int类型的成员变量 state 表示同步状态,还有一个内置的FIFO等待队列来完成资源线程的排队工作。

/**
 * The synchronization state.
 */
private volatile int state;