クラスに2つのメソッドがwriteToMap()
ありprocessKey()
、両方のメソッドが複数のスレッドによって呼び出されているとします。writeToMap
はハッシュマップに何かを書くためのメソッドであり、のにprocessKey()
基づいてsthを実行するために使用されます。keySet
HashMap
processKey内でoriginalMap
、キーセットを取得する前に最初にコピーします。
new HashMap<String, Map<String,String>(originalMap).get("xx").keySet();
しかし、私はConcurrentModificationException
常にハッシュマップをコピーしているにもかかわらず、まだ取得しています。どうしたの?