首页 > 编程语言 > 详细

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

时间:2021-02-15 10:15:04      阅读:17      评论:0      收藏:0      [点我收藏+]

ReentrantLock源码

技术分享图片

 

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

AQS源码

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

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

 

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!