我是靠谱客的博主 糟糕砖头,这篇文章主要介绍读写锁,现在分享给大家,希望可以做个参考。

定义及特点:
锁的用途可以明确地分为读取和写入两个场景。一方面,写入数据时,不能有其他代码并发地写数据,写操作要求完全排斥;另一方面,读取数据时,只需要求其他程序不对数据进行写操作就行了。一个或多个读任务可以并发是有读者锁;用于写的锁最多只能被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)释放指定的写锁,开中断并恢复到指定的前状态

最后

以上就是糟糕砖头最近收集整理的关于读写锁的全部内容,更多相关读写锁内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部