1. AQS 概述
AQS
(AbstractQueuedSynchronizer)是 Java 提供的一个框架,用于构建自定义的同步器。它位于 java.util.concurrent
包下,设计目标是为了简化多线程同步器的开发过程,如互斥锁、读写锁、信号量等。AQS
提供了一个模板,供开发者基于它实现各种锁和同步器。
AbstractQueuedSynchronizer
是一个抽象类,提供了同步器的基础实现,简化了线程同步控制的实现。它通过一个 FIFO 队列(即阻塞队列)来管理线程的竞争,使得线程能够在某些条件满足时通过队列的方式顺序执行。