Java并发编程序列之JUC底层AQS
Java并发编程序列之JUC底层AQS
谈到JUC,Lock接口,大家肯定都会用。最常用的ReentrantReadWriteLock等。本文作为JUC的开头,先把Lock接口和AQS的API说一下,然后说清楚Lock和AQS的关系。文章结构:
- Lock,AQS的相关API
- AQS和Lock接口的关系
1. Lock,AQS的相关API
Lock接口相关要实现API:




2. AQS和Lock接口的关系
好了,看了上面的API,或者根本懒得看的API,大家肯定是一脸**,不过没关系,下面我通过一张图来说清楚AQS(队列同步器)和Lock接口的关系。

注意点:
- 在Lock接口中调用锁的释放语义时不要直接调用我们实现的API,tryRelease之类的API,而是调用模板方法中的Release相关API,因为它底层维护了通知其他线程竞争锁的语义.
- 在Lock接口的实现中是可以调用我们实现的API中的tryAcquire,因为没有拿到锁就返回了,没有用到模板维护的队列,以及模板维护的超时等功能.
结语
好了,打完收工。Hava a good day .下期将自定义一个Lock来运用本文所讲的内容。