请问大佬,ConcurrentHashMap的弱一致性和安全失败的关系怎么理解?
bigbeats opened this issue · comments
安全失败:由于迭代时是对原集合的拷贝进行遍历,所以在遍历过程中对原集合所作的修改并不能被迭代器检测到。
弱一致性:ConcurrentHashMap 的迭代器创建后,就会按照哈希表结构遍历每个元素,但在遍历过程中,内部元素可能会发生变化,如果变化发生在已遍历过的部分,迭代器就不会反映出来,而如果变化发生在未遍历过的部分,迭代器就会发现并反映出来,这就是弱一致性。
未遍历部分的元素修改的话,这两个说法感觉有些矛盾啊?