Java锁升级过程
2022-02-01 22:14:50 0 举报
Java锁升级过程
作者其他创作
大纲/内容
线程A进入同步代码块前
是
自旋次数到达或线程未停止执行,此时线程B来竞争锁对象,则将锁升级为重量级锁,阻塞其他线程
判断当前锁是否是偏向锁
将对象头中的线程ID设置为线程A的ID
线程A进行自旋等待
当前锁就是线程A持有,无需进行自旋等待
检查当前线程是否存在
否
则将线程锁设置为轻量级锁,线程A进行自旋等待
判断当前线程ID和对象头中记录的线程ID是否相同
收藏
收藏
0 条评论
下一页