背景:
多线程与单线程byte模式有误差,而且多线程每次跑出来不一样
发现:
set多线程单线程没有误差,意味着除了byte那一块代码,其他的代码是可被信任的
单线程5000以下byte没有hash冲突时==单线程set==apache==理论值;基本证明了这套cas在单线程下没问题;hash冲突是导致单线程set和单线程byte误差的原因,冲突后byte更小,符合预期;
50000以内set单线程==理论值==apache,程序仍然是可以被信任的
与btye【】未被volatile无关
没有hash冲突时 byte单线程与多线程相同(不知道是不是巧合)
多线程常常比单线程byte大,像由并发 get both nothing both calculate导致的
标签:set,java,单线程,object,hash,byte,多线程 From: https://www.cnblogs.com/silyvin/p/18261696