ConcurrentHashMap 采用了非常精妙的"分段锁"策略,ConcurrentHashMap 的主干是个 Segment 数组(Segment的结构和HashMap类似,是一种数组和链表结构)。Segment 继承了 ReentrantLock,所以它就是一种可重入锁(ReentrantLock)。在 ConcurrentHashMap,一个 Segment 就是一个子哈希表,Segment 里维护了一个 HashEntry(一个 Segment 维护一个 HashEntry,HashEntry 用于存储键值对数据) 数组,并发环境下,对于不同 Segment 的数据进行操作是不用考虑锁竞争的
ConcurrentHashMap
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 数据结构 ConcurrentHashMap 实现并发操作的原理 使用了锁分段技术:ConcurrentHashM...
- 参考:http://www.cnblogs.com/skywang12345/p/3498537.html 1、C...
- 前言 HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash...
- 引言 ConcurrentHashMap是线程安全并且高效的HashMap,在并发编程中经常可见它的使用,在开始分...
- 简介 ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java ...