在同步集合中检查并发修改的故障快速机制是合理的,因为这些集合在多线程环境中被认为是线程安全的,因此它们应该知道并发修改。
但是,我不明白为什么那些应该在单线程环境中工作的线程不安全集合(如ArrayList )也需要注意迭代中的并发修改?
谢谢您的提前回复!
发布于 2020-05-26 09:25:35
不要将“并发修改”中的“并发”误认为仅指多线程。
您也可以在单线程代码中获得一个ConcurrentModificationException:
List<String> list = new ArrayList<>();
list.add("");
Iterator<String> it = list.iterator();
list.add("");
it.next(); // ConcurrentModificationExceptionhttps://stackoverflow.com/questions/62018725
复制相似问题