文章目录
INFO
作者: 编程界的小学生
日期: 2021/09/15
修订: 初版,未修订。2021/09/15
版权: 内部资料,切勿泄漏,违者必究。
一、什么是读写锁?
字面意思,读锁和写锁,两种锁二合一称为读写锁。为什么要用读写锁?因为我们之前讲的锁都是排他锁,防止多线程修改同一条数据造成数据安全性问题。但是假设我们场景读多写少,那用排他锁岂不是血亏?读也变成了排他锁的形式,所以有了读写锁,读锁共享写锁互斥(也就是读读共享、读写互斥、写写互斥)。所以适用于读多写少的场景。
二、读写锁的核心原理
1、读写锁具备哪些特点?
读读共享、读写互斥、写写互斥。
2、写锁如何加锁?
读写互斥、写写互斥。这跟我们之前讲解的锁有啥区别?没任何区别。就是一个普通的hash结构,比如key叫readWriteLock&#