关于ConcurrentHashMap写的同时读

来源:13-4 用ConcurrentHashMap保证并发安全

CoffeePlayer

2021-03-04

老师,您好

图片描述

ConcurrentHashMap中的读没有任何锁,为什么可以在写的时候读却不出错呢?

写回答

1回答

悟空

2021-03-05

小伙伴的问题很好,它实现线程安全的原理是利用了volatile,保证了可见性,读取的时候是不需要加锁的,保证能读到最新的值,具体可以看这里:https://www.cnblogs.com/tiancai/p/13297793.html

关于volatile的原理,以及可见性、happens-before的内容, 可以看我的另一门课《Java并发核心知识体系精讲——完整清晰的并发知识网络+Java内存模型+高频面试题详解》https://coding.imooc.com/class/362.html

里面有详细介绍。

0
3
CoffeePlayer
非常感谢!
2021-03-06
共3条回复

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程