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

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