【发布时间】:2014-03-29 08:40:33
【问题描述】:
[问题]:使用ConcurrentHashMap<Object, ConcurrentHashMap<Object, Object>> 是否线程安全。
[可选回答]:还有其他并发地图类型呢?那么并发集合呢?
P.S. 我只问java.util.concurrent 包。
具体使用上下文:
//we have
ConcurrentHashMap<Object, ConcurrentHashMap<Object, Object>> map = new ConcurrentHashMap<Object, ConcurrentHashMap<Object, Object>>();
//each string can be executed separately and concurently
ConcurrentHashMap<Object, Object> subMap = new ConcurrentHashMap<Object, Object>()
map.put(key, subMap);
map.remove(key);
map.get(key);
map.get(key).put(key, ref);
map.get(key).remove(key);
也许我的解决方案是围绕 Guava HashBasedTable?
【问题讨论】:
-
这是为什么呢? ConcurrentHashMap 毕竟是线程安全的。
-
@Keppil 我希望有人描述不是这样的场景
-
该代码似乎无法编译。没有 map.put(object) 方法。
-
@BrettOkken 我已经更新了
标签: java collections map concurrency