因为ConcurrentHashMap是弱一致性,其get方法没有上锁,会导致get元素的并不是当前并 行还未执行完的put的值,读取到的数据并不一定是最终的值,在一些要求强一致性的场景下 可能会出错。例如:需要判断当前值是否为A如果不为A则修改为C,但是当前值为B而有个 put方法将其更新为A还没执行完,则最终改值就是A,可能会造成后续程序或业务的异常。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.