1.AQS原理
1.概述:
全称是AbstractQueuedSynchronizer ,是阻塞式锁和相关的同步器工具的框架
特点:
1.用state属性来表示资源的状态(分为独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取锁和释放锁
getState--获取state状态
setState--设置state状态
compareAndSetState --cas机制设置state状态
独占模式是只有一个线程能够访问资源,而共享模式可以允许多个线程访问资源
提供了基于FIFO的等待队列,类似于Monitor的EntryList
条件变量来实现等待,唤醒机制,支持多个条件变量,类似于Monitor的WaitSet