JDK成长记19:ReenranctLock(2)加锁入队的AQS底层原理

JDK成长记19:ReenranctLock(2)加锁入队的AQS底层原理

file

上一节,你应该学到了ReentrantLock底层基于AQS的3个小组件 state、owner、queue。并且了解了下一个线程1进行加锁修改owner和state的过程。还记得么?加锁成功后,如下图所示的状态:

file

首次加锁的时候,只使用到了owner和state这两个小组件,并没有涉及到等待队列。所以这一节,我们继续看一下,如果有下一个线程—线程2,这个哥们过来加锁会是如何的?

直接从JDK源码层面理解AQS的另一个线程也来加锁的入队逻辑

直接从JDK源码层面理解AQS的另一个线程也来加锁的入队逻辑

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » JDK成长记19:ReenranctLock(2)加锁入队的AQS底层原理