我一直在读这本书Java generics and collection
,在讨论的部分中iterator
,作者提到
依赖于 CAS(比较和交换)的集合具有弱一致性迭代器,这反映了自创建以来对其后备集合所做的一些但不一定是所有更改。例如,如果集合中的元素在迭代器到达之前被修改或删除,它肯定会反映这些变化,但对插入不做这样的保证。弱一致性迭代器也不会抛出 ConcurrentModificationException。
我想知道,为什么weakly consistent iterator
只反映修改和删除更改,而不反映插入更改。定义这样的行为背后的原因是什么?它服务于什么用例?
相关分类