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