【发布时间】:2012-10-09 12:30:56
【问题描述】:
CopyOnWriteArrayList 和 ConcurrentHashMap 中的迭代器都是故障安全的,不会抛出 CME。
IN CopyOnWriteArrayList<E> 迭代器建立在 snapshot 的
原始底层数组。所以这里的迭代器是fail-safe,也是thread-safe。
CopyOnWriteArrayList<E> 的 Javadcos 明确声明了术语快照。
“快照”样式的迭代器方法使用对状态的引用 创建迭代器时的数组。这个数组从不 在迭代器的生命周期中发生变化,因此干扰是 不可能,并且保证迭代器不会抛出 ConcurrentModificationException。
ConcurrentHashMap 迭代器是否也建立在原始底层地图的快照之上?
谢谢...
【问题讨论】:
标签: java collections