首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在迭代线程不安全的集合时检查并发修改?

为什么在迭代线程不安全的集合时检查并发修改?
EN

Stack Overflow用户
提问于 2020-05-26 09:21:40
回答 1查看 81关注 0票数 1

在同步集合中检查并发修改的故障快速机制是合理的,因为这些集合在多线程环境中被认为是线程安全的,因此它们应该知道并发修改。

但是,我不明白为什么那些应该在单线程环境中工作的线程不安全集合(如ArrayList )也需要注意迭代中的并发修改?

谢谢您的提前回复!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-26 09:25:35

不要将“并发修改”中的“并发”误认为仅指多线程。

您也可以在单线程代码中获得一个ConcurrentModificationException:

代码语言:javascript
运行
复制
List<String> list = new ArrayList<>();
list.add("");
Iterator<String> it = list.iterator();
list.add("");
it.next(); // ConcurrentModificationException
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62018725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档