我是靠谱客的博主 糟糕砖头,最近开发中收集的这篇文章主要介绍读写锁,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

定义及特点:
锁的用途可以明确地分为读取和写入两个场景。一方面,写入数据时,不能有其他代码并发地写数据,写操作要求完全排斥;另一方面,读取数据时,只需要求其他程序不对数据进行写操作就行了。一个或多个读任务可以并发是有读者锁;用于写的锁最多只能被1个写任务持有,而且不能有并发的读操作。
读/写锁也叫做共享/排斥锁。

1、 初始化锁

DEFINE_RWLOCK(mr_rwlock);

2、使用锁

方法描述
read_lock(&mr_rwlock)获取指定的读锁
read_unlock(&mr_rwlock)释放指定的读锁
read_lock_irq(&mr_rwlock)获取指定的读锁,禁止中断
read_unlock_irq(&mr_rwlock)释放指定的读锁,开中断
read_lock_irqsave(&mr_rwlock)获取指定的读锁,储存中断当前状态并禁止中断
read_unlock_irqsave(&mr_rwlock)释放指定的读锁,开中断并恢复到指定的前状态
write_lock(&mr_rwlock)获取指定的写锁
write_unlock(&mr_rwlock)释放指定的写锁
write_lock_irq(&mr_rwlock)获取指定的写锁,禁止中断
write_unlock_irq(&mr_rwlock)释放指定的写锁,开中断
write_lock_irqsave(&mr_rwlock)获取指定的写锁,储存中断当前状态并禁止中断
write_unlock_irqsave(&mr_rwlock)释放指定的写锁,开中断并恢复到指定的前状态

最后

以上就是糟糕砖头为你收集整理的读写锁的全部内容,希望文章能够帮你解决读写锁所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部