偏向锁加锁流程
2021-06-01 21:53:00 5 举报
登录查看完整内容
偏向锁加锁流程
作者其他创作
大纲/内容
唤醒原持有偏向锁线程
获得偏向锁Thread ID | epoch | age | (是否偏向锁) 1 | 01
否
失败
开始偏向锁撤销(偏向锁延迟释放)
未退出同步代码块
升级为轻量级锁
执行同步代码块
锁对象的Mark Word中记录的是否是当前线程?
暂停原持有偏向锁的线程
判断偏向锁状态是否偏向锁?
原持有偏向锁的线程到达全局安全点
成功
线程访问同步代码块
原持有偏向锁线程撤销偏向锁(空) | (是否偏向) 0 | 01
线程已退出同步块或者线程已终止
检查原持有偏向锁的线程状态
是
锁标识位01
CAS替换Thread ID
0 条评论
回复 删除
下一页