1. 是什么?
    • 描述:AQS全称AbstractQueuedSynchronizer,即抽象的队列同步器,是一种用来构建锁和同步器的框架。
    • 基于AQS构建同步器:ReentrantLock、Semaphore、CountDownLatch、ReentrantReadWriteLock、SynchronusQueue、FutureTask
    1. 核心知识
    • 思想:如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中

    image.png

    1. 独占锁
    • tryAcquire(int arg):独占式获取同步状态
    • tryRelease(int arg):独占式释放同步状态