page contents

什么是ConcurrentHashMap?

轩辕小不懂 发布于 2022-04-27 14:54
阅读 471
收藏 0
分类:Java开发
3499
Nen
Nen
- 程序员

ConcurrentHashMap是Java中的一个线程安全且高效的HashMap实现。平时涉及高并发如果要用map结构,那第一时间想到的就是它。相对于hashmap来说,ConcurrentHashMap就是线程安全的map,其中利用了锁分段的思想提高了并发度。

那么它到底是如何实现线程安全的?

JDK 1.6版本关键要素:

segment继承了ReentrantLock充当锁的角色,为每一个segment提供了线程安全的保障;

segment维护了哈希散列表的若干个桶,每个桶由HashEntry构成的链表。

JDK1.8后,ConcurrentHashMap抛弃了原有的Segment 分段锁,而采用了 CAS + synchronized 来保证并发安全性。

请先 登录 后评论