JUC中的读写锁(ReentrantReadWriteLock)

Posted XeonYu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JUC中的读写锁(ReentrantReadWriteLock)相关的知识,希望对你有一定的参考价值。

上一篇:
JUC中的线程通信 Condition

ReentrantReadWriteLock

在之前的文章中,我们已经介绍了ReadWriteLock 接口

JUC已经给我们提供了一个该接口的实现类,就是ReentrantReadWriteLock(可重入读写锁)

看一下读写锁普通锁的区别:

  • 读写锁维护了两把锁,分别是读锁写锁
  • 读写锁中的读锁可以同时被多个线程同时持有,写锁跟普通锁一样,同一时间只能被一个线程持有,读锁和写锁会相互排斥,属于悲观锁

下面我们来看个示例:

/*普通的可重入锁*/
class ReentranLockDemo 
   
    private final 

以上是关于JUC中的读写锁(ReentrantReadWriteLock)的主要内容,如果未能解决你的问题,请参考以下文章

JUC中的读写锁(ReentrantReadWriteLock)

JUC并发编程 共享模式之工具 JUC 读写锁 ReentrantReadWriteLock -- ReentrantReadWriteLock(不可重入锁)使用 & 注意事项

JUC包中的锁框架

JAVA JUC 读写锁

JUC之ReadWriteLockReentrantReadWriteLock读写锁

JUC之StampedLock读写锁增强辅助类