开发者论坛

标题: longAccumulate是否会在Cell[]扩容到最大值并且不断发生竞争时回退casBase [打印本页]

作者: yeyao6    时间: 2025-2-14 10:08
标题: longAccumulate是否会在Cell[]扩容到最大值并且不断发生竞争时回退casBase

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;}




欢迎光临 开发者论坛 (https://oh-test.qingcheng100.cn/) Powered by Discuz! X3.5