This question already has answers here:
What's the difference between ConcurrentHashMap and Collections.synchronizedMap(Map)?

(19个回答)


4年前关闭。




Java中的ConcurrentHashMap和Hashtable有什么区别?

对于线程化应用程序,哪个更有效?

最佳答案

ConcurrentHashMap使用多个存储桶来存储数据。这样可以避免读取锁定,并大大提高了HashTable的性能。两者都是线程安全的,但是ConcurrentHashMap具有明显的性能优势。

当您使用ConcurrentHashMapget()读取时,没有锁,这与HashTable的所有操作都简单地同步相反。HashTable在Java的旧版本中发布,而ConcurrentHashMap是Java 5+版本。
HashMap是在单线程应用程序中使用的最佳方法。

09-30 17:42
查看更多