Lock入队出队
2021-03-29 18:01:11 9 举报
lock
作者其他创作
大纲/内容
tail
witerState=0thread =nullnextWaiter=nullnext=node
state=1
这时候并没有队列,所以需要初始化一个队列
next
setExclusiveOwnerThread(Thread.currentThread());设置独占锁为当前线程
witerState=0thread =nullnextWaiter=nullnext=node
tail尾节点
引用地址一样
state=0
witerState=0thread =thread1nextWaiter=null
thread2
prev
CAS加锁失败,需要入队
等于
t
hred
thread1
thread0
node
t 临时变量节点
引用地址不一样
thread0结束
当前线程的node
CAS加锁成功
head
0 条评论
下一页
为你推荐
查看更多