概述
定义及特点:
锁的用途可以明确地分为读取和写入两个场景。一方面,写入数据时,不能有其他代码并发地写数据,写操作要求完全排斥;另一方面,读取数据时,只需要求其他程序不对数据进行写操作就行了。一个或多个读任务可以并发是有读者锁;用于写的锁最多只能被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) | 释放指定的写锁,开中断并恢复到指定的前状态 |
最后
以上就是糟糕砖头为你收集整理的读写锁的全部内容,希望文章能够帮你解决读写锁所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复