多线程与高并发(四)--ReentrantLock及AQS源码

2021-03-02 19:29

阅读:709

标签:mic   源码   img   子类   image   tran   --   nfa   http   

ReentrantLock源码

技术图片

 

 父子类关系:NonfairSync->Sync->AQS

AQS源码

  核心是volatile int state以及等待队列。

  • state的具体含义交给子类来定义。
    • ReentrantLock中state代表加解锁。
    • CountDownLatch中state代表需要countDown几次。
  • 内部维护了一个内部类Node(存放Thread),由Node组成了一个Thread的双向链表(等待队列)。获取到锁就移出等待队列,等待锁的释放就进入等待队列。
    • PS:入队出队操作为CAS。

 

多线程与高并发(四)--ReentrantLock及AQS源码

标签:mic   源码   img   子类   image   tran   --   nfa   http   

原文地址:https://www.cnblogs.com/liu-feng/p/14401666.html


评论


亲,登录后才可以留言!