关于读写锁使用场景

来源:5-17 读写锁的由奢入俭“易”

往前迈一步

2020-04-18

老师你好,我们说读写锁的使用是为了提高并发读的效率,但读锁和写锁,锁住的是不同代码块,既然都是不同的代码块了,为什么读还要加锁呢?以课程中电影院的代码为例,读锁和写锁本身就在不同的方法中,对于读锁的方法,不加锁的性能是不是更好?老师能不能麻烦您介绍一些适合使用读写锁的真实场景?

写回答

1回答

悟空

2020-04-19

读写锁的场景:

读多写少。

这种场景很多的,例如白名单列表、配置文件等。

读和写在不同的代码块,但是依然要加锁,以为他们操作的是同一个对象。如果读取的时候不加锁,那么就有可能在读到一半的时候,另外的线程对他进行了修改,那么读到的内容就可能会错误,加读锁的目的,就是保证在读取的时候,无人能写。

1
0

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

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

1599 学习 · 573 问题

查看课程