CLH队列锁流程分析
2021-08-20 11:12:00 3 举报
CLH队列锁流程分析
作者其他创作
大纲/内容
locked=flase
true
pred=null
myPred
locked=true
locked=false
CLH队列锁
tail
1. 假设线程A要获取资源,其先对当前链表的tail 域调用 getAndSet方法,使自己成为队列的尾部,同时获取一个指向其前驱结点的引用 myPred。
newHead
QNode-B
线程A需要锁时
释放
QNode-A
myPred=null
head节点,当前其获取到了资源,未释放锁
QNode
false
locked
2. 当另一个线程B同样需要获取锁时,上述的过程也要再来一遍
收藏
收藏
0 条评论
下一页
为你推荐
查看更多