Linux线程同步之读写锁

这篇博客探讨了Linux中的读写锁,指出相对于互斥锁,读写锁能提供更高的并行性。它详细解释了读写锁的三种状态,强调在读操作频繁的场景下使用读写锁的优势。同时,文章提到了读写锁的两个关键规则,并预告了关于读写锁高级属性的API介绍。
摘要由CSDN通过智能技术生成

一、读写锁
相较于互斥锁而言,读写锁拥有更高的并行性。因为互斥锁会将所有试图进入临界区(即共享数据)的其他线程都给阻塞住,对于互斥锁来说,就两种状态:要么是加锁状态,要么就是不加锁(即解锁)状态。而读写锁便不一样,它是可以有三中状态的:获取用于读模式的读写锁、获取用于写模式的读写锁及不加锁(见图1)。它可以允许同一时刻有多个用于读的读写锁获得状态,但同一时刻只能允许有一个用于写的读写锁获得。因此,在满足对于临界区的读次数永大于写的次数(或是读的频率相较于写更高)时优先考虑使用读写锁
在这里插入图片描述
图1 读写锁的3种状态

读写锁有如下两个规则:
(1)若没有某一个线程拥有读写锁中的写锁用于写,那么可以有若干

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

内核之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值