• Lv2
    粉丝5

积分198 / 贡献0

提问17答案被采纳1文章18

  • 黄金

    累计积分达到3000分
  • 青铜

    累计积分达到10分

longAccumulate是否会在Cell[]扩容到最大值并且不断发生竞争时回退casBase

yeyao6 官方账号 显示全部楼层 发表于 2025-2-14 10:08:54

Cell[]扩容到最大值并且不断发生竞争时会回退casBase,并称这是一种保底机制,但是我在看源码时好像并没有看到哪里能回退casBase,源码处理当Cell[]扩容到最大值并且不断发生竞争问题时似乎只尝试为线程更换cell

index = advanceProbe(index);

AI解释时一直称当Cell[]扩容到最大无法更新时,会调用以下代码,但是我认为当Cell[]被创建好后,应该是不会有机会执行的。

  else if (casBase(v = base,                     (fn == null) ? v + x : fn.applyAsLong(v, x)))        break;}

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2025  开发者论坛   |技术支持 Discuz!

返回顶部