并发JavaJava 并发锁
- 分类
- Java 并发
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/28 21:25
答案
ReentrantReadWriteLock是一个可重入的读写锁,它实现了ReadWriteLock,它既可以保证多线程读的效率,也可以保证多线程写的安全。他包含一个ReadLock和一个WriteLock。读锁是共享锁,而写锁是独占锁。他也是基于AQS实现的,对于state,它的高16位用来记录读线程数,而低16位用来记录写线程重入次数 ReentrantReadWriteLock能够保证多线程读的效率,也能够保证多线程下写的安全,因此在读多写少的场景下能够明显提升系统性能。
相关题目(5)
Java 并发并发JavaJava 并发锁
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
有哪些支持并发的集合?共源 1
Java 并发并发JavaJava 并发
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(并发).md
knowledge_noteQuestion 57: 什么是 ReentrantReadWriteLock?适合什么场景?
Source answer: ReentrantReadWriteLock是一个可重入的读写锁,它实现了ReadWriteLock,它既可以保证多线程读的效率,也可以保证多线程写的安全。他包含一个ReadLock和一个WriteLock。读锁是共享锁,而写锁是独占锁。他也是基于AQS实现的,对于state,它的高16位用来记录读线程数,而低16位用来记录写线程重入次数 ReentrantReadWriteLock能够保证多线程读的效率,也能够保证多线程下写的安全,因此在读多写少的场景下能够明显提升系统性能。
Reviewed answer: ReentrantReadWriteLock 是可重入读写锁,包含共享的读锁和独占的写锁,能够兼顾读性能与写安全,底层基于 AQS。它适合读多写少的场景。