JUC.Lock(锁机制)学习笔记[附详细源码解析]


锁机制学习笔记


目录:

CAS的意义

锁的一些基本原理

ReentrantLock的相关代码结构

两个重要的状态

  I.AQS的state(int类型,32位)

  II.Node的waitStatus

获取锁(AQS)的流程

  I.获取锁总操作

  II.tryAcquire(尝试获取锁)

  III.添加到等待队列

  IIII.自旋请求锁

  IIIII.释放锁


JUC的并发包功能强大,但也不容易理解,大神果然是用来膜拜的。经过一段时间的研究和理解,我把自己所了解的关于JUC中锁的相关知识整理下来,一方面给自己做个备忘,另一方面也给各位朋友做个参考。

文中源码的关键部分都做了注释,希望对大家有所帮助。另外这只是学习笔记,建议大家先去了解一些基础知识再来看其中的源码,大家有疑问的可以再参考其他文章,谢谢!

CM4J

参考文章:http://www.blogjava.net/xylz/archive/2010/07/05/325274.html