我应该使用ConcurrentHashMap吗?

时间:2015-01-27 16:29:17

标签: java hashmap concurrenthashmap

关于ConcurrentHashMap的快速问题:

public Map<String, String> getA(){
get something from db in a HashMap lets call it x
....
 do some operations in on x
....
 put the result in ConcurrentHashMap lets call it A
.....
  return A 
}

有一个ConcurrentHashMap是否有意义,还是应该使用HashMap?

1.HashMap
 2.ConsurentHashMap

2 个答案:

答案 0 :(得分:2)

如果您使用不同的线程或者其他数据将同时进行操作(多线程代表或类似代理),请使用ConcurrentHashMap。否则,HashMap应该这样做(根据您提供的信息)。

基于阅读您的伪代码,我得到的印象是您在不同的线程上工作,因此HashMap 应该就足够了。

答案 1 :(得分:0)

如果您不想担心此方法的客户在修改/阅读地图时遇到竞争条件,您可以更好地将其包装在Collections.unmodifiableMap()中。