gpt4 book ai didi

java - Java HashMap 中的 ConcurentModificationException

转载 作者:行者123 更新时间:2023-11-29 08:01:50 26 4
gpt4 key购买 nike

假设我的类中有两个方法,writeToMap()processKey()并且这两个方法都被多个线程调用。 writeToMap是一种在 hashmap 和 processKey() 中写入内容的方法用于根据 keySet 做某事的 HashMap .

在 processKey 中,我首先复制了 originalMap在获取 key 集之前。

new HashMap<String, Map<String,String>(originalMap).get("xx").keySet();

但我仍然得到 ConcurrentModificationException即使我总是复制 HashMap 。有什么问题吗?

最佳答案

HashMap 的复制构造函数执行一个(隐藏的)iteration在正在复制的 map 上(原始 map )。如果在迭代过程中 originalMap 被另一个线程修改,您可能会得到一个 ConcurrentModificationException。

关于java - Java HashMap 中的 ConcurentModificationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13852934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com