ConcurrentHashMap与同步HashMap

ConcurrentHashMap与同步HashMap,第1张

ConcurrentHashMap与同步HashMap

同步

HashMap

  1. 每种方法都使用对象级锁进行同步。因此,synchMap上的get和put方法获取一个锁。

  2. 锁定整个集合是性能开销。当一个线程保持该锁时,其他任何线程都不能使用该集合。

ConcurrentHashMap
是在JDK 5中引入的。

  1. 在对象级别没有锁定,锁定的粒度要好得多。对于

    ConcurrentHashMap
    ,锁定可以处于哈希图存储桶级别。

  2. 较低级别的锁定的结果是您可以拥有并发的读取器和写入器,而这对于同步集合是不可能的。这导致更多的可伸缩性。

  3. ConcurrentHashMap``ConcurrentModificationException
    如果一个线程试图修改它而另一个线程对其进行迭代,则不会抛出a 。

本文是Java
7:HashMap与ConcurrentHashMap

的很好阅读。强烈推荐。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5600500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存