ReentrantLock源码

父子类关系:NonfairSync->Sync->AQS
AQS源码
核心是volatile int state以及等待队列。
- state的具体含义交给子类来定义。
- ReentrantLock中state代表加解锁。
- CountDownLatch中state代表需要countDown几次。
- 内部维护了一个内部类Node(存放Thread),由Node组成了一个Thread的双向链表(等待队列)。获取到锁就移出等待队列,等待锁的释放就进入等待队列。
多线程与高并发(四)--ReentrantLock及AQS源码
原文:https://www.cnblogs.com/liu-feng/p/14401666.html