【发布时间】:2015-09-04 09:48:55
【问题描述】:
如果我们在 HashSet 的 oracle 文档中看到,它指出在遍历 Set 时,如果我们尝试操作它,它会抛出 ConcurrentModificationException。可以理解。
这类似于 ArrayList 或 HashMap 的情况。但是如果我们看到,Java 提供了替代类,例如 CopyOnWriteArrayList 和 ConcurrentHashMap。
为什么没有这样的 HashSet 类来处理 ConcurrentModificationException?或者即使它存在,也请通知我。我不知道这样的课程
【问题讨论】:
-
CopyOnWriteArrayList和ConcurrentHashMap没有被引入来防止 CME。他们有自己的目的(CHM 是作为Colletions.synchronizedMap()的升级引入的)
标签: java multithreading collections synchronization