AQS简介
AQS(AbstractQueuedSynchronizer)是一个模板类,其提供一个先进先出(FIFO)的等待队列,旨在为大多数依赖单个原子int值表示状态的同步器提供有用的基础。
AQS类支持默认的排他锁和共享锁之一或两者。在排他锁模式下获取时,其他线程尝试获取是不会成功的,共享模式由多个线程获取可能会(但不一定)成功。AQS类不会“理解”这些区别,只是锁意义上说,当成功获取共享模式时,下一个等待线程(如果存在)也必须确定它是否也能够获取。在不同模式下等待的线程共享相同的FIFO队列。