天上飞的云传奇 2022-03-02 12:02 采纳率: 83.3%
浏览 14
已结题

synchronized升级过程--轻量级锁到底自旋不(标签-Java|关键词-Java并发编程)

https://mp.weixin.qq.com/s/3PBGQBR9DNphE7jSMvOHXQ
关于 Synchronized 的一个点,网上99%的文章都错了

这篇文章说,轻量级锁升级,只要有并发线程获取轻量级锁,就直接膨胀为重量级锁,然后在进入阻塞之前会有一个自适应自旋操作。我看他贴出的源码感觉好有道理。
但是我阅读Java并发编程的艺术,上面说的是轻量级锁加锁的时候cas失败 失败的线程会先自旋获取锁。当前持有锁的线程解锁cas失败才会导致其余竞争锁的线程膨胀为重量级锁,书上还有个流程图。

问题是,这位写文章的牛人说的对不。

  • 写回答

1条回答 默认 最新

  • 七号公园的忧伤 Java领域新星创作者 2022-03-02 12:16
    关注

    对比看看是不是jdk版本不同?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥15 notepad++ 自动补全提示,如输入汉字"人名",就会出现"张三","李四"
  • ¥15 如何用matlab实现PSO算法与两种智能优化算法在30维和50维问题上的性能比较?
  • ¥15 在qt的QGraphicsView和QGraphicsScene中遇到的问题
  • ¥50 如何完美解决谷歌礼品卡支付不被检测
  • ¥15 nslt的可用模型,或者其他可以进行推理的现有模型
  • ¥15 arduino上连sim900a实现连接mqtt服务器
  • ¥15 vncviewer7.0安装后如何正确注册License许可证,激活使用
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并2
  • ¥66 关于人体营养与饮食规划的线性规划模型
  • ¥15 基于深度学习的快递面单识别系统