在同步集合中检查并发修改的快速失败机制是合理的,因为这些集合在多线程环境中被认为是线程安全的,因此它们应该知道并发修改。
但我很困惑,为什么那些ArrayList应该在单线程环境中工作的线程不安全集合也需要注意迭代中的并发修改?
感谢您提前回复!
不要将“并发修改”中的“并发”误认为仅指多线程。
您也可以在单线程代码中获得 ConcurrentModificationException:
List<String> list = new ArrayList<>();
list.add("");
Iterator<String> it = list.iterator();
list.add("");
it.next(); // ConcurrentModificationException
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |