我有一张 map ,我正在同步它。同步后插入 map 的行为会有什么不同吗?
HashMap<String,String> myMap = new HashMap<String,String>();
myMap.put("abc","123");
myMap.put("efg","456");
Collections.synchronizedMap(myMap);
myMap.put("hij","789");
myMap.put("jkl","234");
最佳答案
调用 Collections.synchronizedMap(myMap);
之后的插入将是线程安全的,之前的插入将不是线程安全的。 Collections.synchronizedMap(myMap);
所做的只是将 map 对象包装在线程安全的 SynchronizedMap
对象中。除此之外没有区别。
此外,您需要将代码更改为 myMap = Collections.synchronizedMap(myMap);
关于java - HashMap同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620049/