ReentrantLock的lock以及unlock方法的源码分析,以及AQS源码核心内容
没啥子可说的,直接上图:
1.AQS的核心是:volatile state(有具体的实现类定义其含义)、Node(双端链表)。设计模式为模板方法(回调函数),CAS操作Node。
2.ReentrantLock中的内部类:Sync的类型结构
3.lock方法具体执行过程:
源码中有许多的细节没有具体的研读,下面的图是以jdk8的源码画出来的,ReentrantLock不同的版本的代码差距还是挺大的,不过方法的核心思想没有变化,版本的迭代是为了更加的高效。
不怎么会画图,并不美观,如有收获,点赞,谢谢!