锁升级
2020-11-20 19:09:52 18 举报
锁升级是一种安全措施,旨在提高锁的安全性和可靠性。随着科技的发展,锁的种类也在不断更新换代。例如,智能门锁、指纹锁、密码锁等都是现代家居中常见的新型锁具。这些新型锁具不仅具有更高的安全性,而且还能够提供更加便捷的使用体验。 在升级锁具时,应选择符合国家标准的产品,并按照说明书进行安装。此外,还应定期检查锁具的使用情况,及时发现并解决问题。通过这些措施,我们可以更好地保护自己和家人的安全。总之,锁升级是一项重要的安全措施,值得我们重视和投入精力去实施。
作者其他创作
大纲/内容
修改成功
当前线程栈中分配锁记录
一定次数未成功
拷贝当前对象头中的Mark Word到当前线程的锁记录中
获取偏向锁成功
mutex挂起线程
唤醒原偏向线程
否
00轻量级锁
获取轻量级锁
拷贝当前对象头中的Mark Word到原持有偏向锁线程的锁记录中
原持有偏向锁的线程栈中分配锁记录
失败
判断锁标志位
CAS将对象头中Mark Word的锁记录指针指向当前线程锁记录
当前线程
检查Mark Word中锁记录是否为空
升级为重量级锁,指向monitor指针
开始轻量级锁解锁
否,出现竞争
自旋spinning
执行同步代码块
CAS操作释放锁
10重量级锁
是
从Safe Point继续执行
01偏向锁
等待原偏向线程进入Safe Point
重试
0,不可偏向
撤销偏向锁
检查Mark Word中锁记录是否指向当前线程
判断偏向锁状态
访问同步代码块
原持有偏向锁的线程获取轻量级锁
尝试获取轻量级锁
修改失败
1已偏向
释放锁
升级轻量级锁
CAS修改线程ID为当前线程
暂停并检查原偏向线程状态
成功
收藏
收藏
0 条评论
下一页