HashMap,Hashtable,ConcurrentHashMap和synchr…

2020-02-17 16:02:49来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

HashMap,Hashtable,ConcurrentHashMap和synchronized Map

HashMap: 线程不安全,链表结构,效率高;

Hashtable : 线程安全,但效率低,因为是Hashtable是使用synchronized的,所有线程竞争同一把锁;

Synchronized Map: 线程安全,但效率低,一次性锁住整张表来保证线程安全,所以每次只能有一个线程来访问map。

ConcurrentHashMap:线程安全而且效率高,因为它包含一个segment数组,将数据分段存储,给每一段数据配一把锁。

          在理想状态下,ConcurrentHashMap 可支持16个线程执行并发写操作,及任意数量线程的读操作。

如何线程安全的使用HashMap:

以下三种方式:

  • Hashtable
  • ConcurrentHashMap
  • Synchronized Map

  


原文链接:https://www.cnblogs.com/lgg20/p/12321427.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:mybatis-plus - buildSqlSessionFactory()

下一篇:Java连载84-Collection的常用方法、迭代器