码迷,mamicode.com
首页 > 其他好文 > 详细

HashMap,Hashtable,ConcurrentHashMap和synchronized Map

时间:2020-02-17 14:18:24      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:hash   table   zed   一个   htable   hashmap   使用   sync   并发   

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

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

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

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

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

以下三种方式:

  • Hashtable
  • ConcurrentHashMap
  • Synchronized Map

  

HashMap,Hashtable,ConcurrentHashMap和synchronized Map

标签:hash   table   zed   一个   htable   hashmap   使用   sync   并发   

原文地址:https://www.cnblogs.com/lgg20/p/12321427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!