This question already has answers here:
What's the difference between ConcurrentHashMap and Collections.synchronizedMap(Map)?
(19个回答)
4年前关闭。
Java中的ConcurrentHashMap和Hashtable有什么区别?
对于线程化应用程序,哪个更有效?
(19个回答)
4年前关闭。
Java中的ConcurrentHashMap和Hashtable有什么区别?
对于线程化应用程序,哪个更有效?
最佳答案
ConcurrentHashMap
使用多个存储桶来存储数据。这样可以避免读取锁定,并大大提高了HashTable
的性能。两者都是线程安全的,但是ConcurrentHashMap
具有明显的性能优势。
当您使用ConcurrentHashMap
从get()
读取时,没有锁,这与HashTable
的所有操作都简单地同步相反。HashTable
在Java的旧版本中发布,而ConcurrentHashMap
是Java 5+版本。HashMap
是在单线程应用程序中使用的最佳方法。