日期:2014-05-20  浏览次数:20812 次

Map不同步的问题,(我刚才发的贴怎么变成了404,fuck)
Java code

public static Map<String, Map<String, String>> a_set = Collections.synchronizedMap(new Hashtable<String, Map<String, String>>());




这个Map我有两个线程在用,一个用于写入操作,另一个用于读取并且会remove里面的value

这样就会导致不同步的问题,我在javaAPI里面看了,java提供了同步的Map实现HashTable,但是还是报java.util.ConcurrentModificationException  
后来我把Map用集合锁修饰下让它实现同步但是还是会报同样的异常

请问大侠们这是什么原因,小弟对线程同步方面了解的不是很多望指教

------解决方案--------------------
你做迭代操作了么?转换成set迭代跟hashMap上的锁没有关系了

如果在迭代的时候修改了底层数据又不想抛出异常,请用ConcurrentHashMap
------解决方案--------------------
探讨
你做迭代操作了么?转换成set迭代跟hashMap上的锁没有关系了

如果在迭代的时候修改了底层数据又不想抛出异常,请用ConcurrentHashMap