无锁状态->偏向锁->撤销偏向锁
2019-12-14 17:14:03 36 举报
synchronized无锁升级到偏向锁
作者其他创作
大纲/内容
不成功
访问同步块
空|0|01
T1|Epoch|1|01
解锁,将线程ID设为空
恢复线程
暂停线程
没有
对象头中Mark Word
将对象头Mark Word中的线程ID指向自己
检查对象头中是否存储了线程1
偏向锁状态
撤销偏向锁
CAS替换Mark Word
成功
线程1
无锁状态
执行同步体
线程2
检查对象头中是否存储了线程2
0 条评论
下一页