ConcurrentHashMap 是一个线程安全的实现
虽然ConcurrentHashMap是线程安全的,看看下面一段代码
如果你只调用get(),或只调用put()时,ConcurrentHashMap是线程安全的。
但是,在你调用完get后,调用put之前,
如果有另外一个线程调用了map.put(name, x),
你再去执行map.put(name,x),
就很可能把前面的操作结果覆盖掉了。
所以,即使在线程安全的情况下,
你还是有可能违反原子操作的规则。
一般不采用ConcurrentHashMap这个类,而是采用
本文探讨了ConcurrentHashMap在多线程环境下可能出现的问题,并提供了一种替代方案来确保线程安全性和原子操作的正确性。
504

被折叠的 条评论
为什么被折叠?



