longAccumulate是否会在Cell[]扩容到最大值并且不断发生竞争时回退casBase
最近在学JUC学到longAccumulate时有了问题,问了很多AI都说在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;
}
来个大佬解答一下吧求求了,困惑好久了
...全文
相关推荐
揭秘CAS:深入理解与应用解析
在并发编程中,Compare-And-Swap(CAS)机制作为一种无锁算法,凭借其高效性和避免线程阻塞的优势,受到广泛关注。CAS不仅在底层实现上有着重要地位,还在实际开发中发挥着关键作用。本文将从CAS的工作原理、在Java中的实现及其增强机制来回顾和加深理解一下CAS。
机械三维3D设计图-汽车线束插头压装工装夹具.zip
机械三维3D设计图-汽车线束插头压装工装夹具.zip
Delphi 13.2控件之OmniThreadLibrary-release-3.09.zip
Delphi 13.2控件之OmniThreadLibrary-release-3.09.zip
windows上传cloudflare R2的小工具用ai做的
cloudflare R2上传有个小限制超过200m只能web3或者workers上传,那这个工具就是用于大文件(>200m) web3形式的上传,本地->cloudflare R2
XAgentTeam WSL镜像
XAgentTeam WSL镜像


