【发布时间】:2012-12-23 03:09:35
【问题描述】:
可能重复:
What’s the difference between ConcurrentHashMap and Collections.synchronizedMap(Map)?
我正在阅读 HashMap、Collenctions.synchonizedMap 和 ConcurrentHashMap 之间的差异。我的理解是 Collections.synchronizedMap 对整个集合应用了锁,因此会产生性能开销。但是 ConcurrentHashMap 不使用同步。它使用段来实现结果,因此它提供了与 HashMap 相似的性能。
如果我的理解正确,请提出建议。此外,如果是这种情况,即使可能没有多个线程访问它,我是否可以在任何地方使用 ConcurrentHashMap?
【问题讨论】:
-
我也解决了这个问题。它主要讨论涉及多个线程并且需要并发的情况。但是,我想知道我是否可以使用 ConcurrentHashMap,即使我只能使用 HashMap。
-
你可以....但是你为什么会呢?您无缘无故地增加了开销; “相似”!=“相同”。
-
这样的话,你可以看看stackoverflow.com/questions/1378310/…
标签: java concurrent-collections