java 锁 -轻量级锁

2.
级锁
1 级锁
线 程在 行同步 之前, JVM 会先在当前 线 程的 栈桢 建用于存 储锁记录 的空 ,并
中的 Mark Word 复制到 锁记录 中,官方称 Displaced Mark Word 。然后 线 尝试 使用
CAS 中的 Mark Word 换为 指向 锁记录 的指 。如果成功,当前 线 ,如果失
,表示其他 线 ,当前 线 程便 尝试 使用自旋来
2 级锁
锁时 ,会使用原子的 CAS 操作将 Displaced Mark Word 回到 ,如果成
功, 表示没有 生。如果失 ,表示当前 存在 争, 就会膨 成重量 级锁
自旋会消耗 CPU 了避免无用的自旋(比如 线 程被阻塞住了),一旦锁升
成重量 级锁 ,就不会再恢复到 级锁 。当 锁处 个状 下,其他 线 试图获 锁时
都会被阻塞住,当持有 线 之后会 线 程,被 醒的 线 程就会 行新一轮
夺锁 之争。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值