JDK成长记18: ReentrantLock (1) 通过首次加锁初识AQS
上一章你应该掌握了Atomic的底层原理-CAS。接下来进入另一个重要的一个知识AQS。我们通过ReentrantLock这个类来讲讲AQS这个知识。
从上图可以看出,ReentractLock、ReadWriteReentractLock,这些锁API底层是基于AQS+CAS+volatile来实现的,一般不会直接使用,常使用的是一些并发集合API,但是它们的底层大多还是基于ReentrantLock或者AQS来实现的。
ReentrantLock属于java并发包里的底层的API,专门支撑各种java并发类的底层的逻辑实现。
ReenranctLock的内容比较多,计划分6节来讲。
-
第一节讲一下初识ReenranctLock加锁的AQS底层原理
-
第二节讲一下ReenranctLock加锁入队的AQS底层原理
-
第三节讲一下ReenranctLock释放锁的底层原理
-
第四节讲一下ReenranctLock锁的可重入、公平、非公平
-
第五节讲一下ReentrantReadWriteLock读写锁的原理
-
第六节讲一下ReenranctLock中condition的应用