Skip to content
目录概览

ReadWriteLock 是什么?

ReadWriteLock 是一个读写锁接口,读写锁是用来提升并发程序性能的锁分离技术,ReentrantReadWriteLock 是 ReadWriteLock 接口的一个具体实现,实现了读写的分离,读锁是共享的,写锁是独占的,读和读之间不会互斥,读和写、写和读、写和写之间才会互斥,提升了读写的性能。

而读写锁有以下三个重要的特性:

  1. 公平选择性: 支持非公平(默认)和公平的锁获取方式,吞吐量还是非公平优于公平。
  2. 重进入: 读锁和写锁都支持线程重进入。
  3. 锁降级: 遵循获取写锁、获取读锁再释放写锁的次序,写锁能够降级成为读锁。