首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >read_lock和write_lock的优势

read_lock和write_lock的优势
EN

Stack Overflow用户
提问于 2015-08-19 13:29:24
回答 2查看 4.3K关注 0票数 0

我学习read_lock和write_lock。

看来我可以用spin_lock代替读写锁.

所以我想知道使用读写锁有什么好处吗?

当我使用read_lock和write_lock时,比仅仅使用spin_lock有什么好处?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-19 14:09:21

简短的googling打开了这一段:

有时,锁的使用可以清楚地分为读者和作者。例如,考虑更新和搜索的列表。当列表被更新(写入)时,重要的是其他执行线程不能同时写入或从列表中读取。写作需要相互排斥。另一方面,在搜索列表(从列表中读取)时,只需要不向列表写入其他任何内容。只要没有作者,多个并发读取器是安全的。任务列表的访问模式(在第3章“流程管理”中讨论)符合这一描述。毫不奇怪,任务列表受到读写器自旋锁的保护。

(资料来源:链接)

因此,基本上,使用read_lock/write_lock为您提供了比常规自旋锁更大的能力来拒绝/允许不同的锁用户,这取决于他们的需求,如上面的示例所示。

票数 1
EN

Stack Overflow用户

发布于 2015-09-26 11:26:10

读写锁在体系结构明显分为读取器和写入器的情况下更有用,读写器的数量更多。也就是说,读写锁允许多个读取器位于同一关键区域.然而,在有更多读取的场景中,普通的自旋锁不能以并行处理的形式提供这种优势。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32096928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档