JDK成长记19:ReenranctLock(2)加锁入队的AQS底层原理
上一节,你应该学到了ReentrantLock底层基于AQS的3个小组件 state、owner、queue。并且了解了下一个线程1进行加锁修改owner和state的过程。还记得么?加锁成功后,如下图所示的状态:
首次加锁的时候,只使用到了owner和state这两个小组件,并没有涉及到等待队列。所以这一节,我们继续看一下,如果有下一个线程—线程2,这个哥们过来加锁会是如何的?
上一节,你应该学到了ReentrantLock底层基于AQS的3个小组件 state、owner、queue。并且了解了下一个线程1进行加锁修改owner和state的过程。还记得么?加锁成功后,如下图所示的状态:
首次加锁的时候,只使用到了owner和state这两个小组件,并没有涉及到等待队列。所以这一节,我们继续看一下,如果有下一个线程—线程2,这个哥们过来加锁会是如何的?