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 |