2个线程争取偏向锁,就会膨胀为轻量级锁
2个线程争取轻量级锁,就会膨胀为重量级锁,那不是说这两个锁都是只有单线程下才存在的吗?
有啥区别吗,为什么不直接从偏向锁直接膨胀到重量级锁
偏向锁和轻量级锁有啥区别吗
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
拾光师 2022-04-27 11:08关注对于同一个线程多次获得锁,使用偏向锁,也就是说没有发生线程争抢,一个线程在访问加了synchronized修饰的代码块时,会在对象头中存储当前线程的id,之后该线程进入和退出时,不需要再次加锁和释放锁,而是直接比较对象头里是否存储了指向当前线程ID的偏向锁
多个线程在不同时段获取同一把锁,就会变成轻量级锁,当锁是偏向锁的时候,被另外的线程所访问,偏向锁就会升级为轻量级锁本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报