Java ReadWriteLock原理及其实际应用如何解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2315个文字,预计阅读时间需要10分钟。
目录- 什么是读写锁?- 为什么需要读写锁?- 读写锁的特点- 读写锁的使用场景- 读写锁的主要成分和结构图- 读写锁的实现原理- 读写锁总结- Java并发编程提供了读写锁,主要用于读多写少的场景
目录
- 什么是读写锁?
- 为什么需要读写锁?
- 读写锁的特点
- 读写锁的使用场景
- 读写锁的主要成员和结构图
- 读写锁的实现原理
- 读写锁总结
Java并发编程提供了读写锁,主要用于读多写少的场景,今天我就重点来讲解读写锁的底层实现原理
什么是读写锁?
读写锁并不是JAVA所特有的读写锁(Readers-Writer Lock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。
所谓的读写锁(Readers-Writer Lock),顾名思义就是将一个锁拆分为读锁和写锁两个锁。
其中读锁允许多个线程同时获得,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。
为什么需要读写锁?
Synchronized和 ReentrantLock 都是独占锁,即在同一时刻只有一个线程获取到锁。
然而在有些业务场景中,我们大多在读取数据,很少写入数据,这种情况下,如果仍使用独占锁,效率将及其低下。
本文共计2315个文字,预计阅读时间需要10分钟。
目录- 什么是读写锁?- 为什么需要读写锁?- 读写锁的特点- 读写锁的使用场景- 读写锁的主要成分和结构图- 读写锁的实现原理- 读写锁总结- Java并发编程提供了读写锁,主要用于读多写少的场景
目录
- 什么是读写锁?
- 为什么需要读写锁?
- 读写锁的特点
- 读写锁的使用场景
- 读写锁的主要成员和结构图
- 读写锁的实现原理
- 读写锁总结
Java并发编程提供了读写锁,主要用于读多写少的场景,今天我就重点来讲解读写锁的底层实现原理
什么是读写锁?
读写锁并不是JAVA所特有的读写锁(Readers-Writer Lock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。
所谓的读写锁(Readers-Writer Lock),顾名思义就是将一个锁拆分为读锁和写锁两个锁。
其中读锁允许多个线程同时获得,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。
为什么需要读写锁?
Synchronized和 ReentrantLock 都是独占锁,即在同一时刻只有一个线程获取到锁。
然而在有些业务场景中,我们大多在读取数据,很少写入数据,这种情况下,如果仍使用独占锁,效率将及其低下。

