首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >何时使用可升级的锁?

何时使用可升级的锁?
EN

Stack Overflow用户
提问于 2015-06-20 11:29:40
回答 1查看 24关注 0票数 2

我使用共享锁和独占锁,但我没有机会使用可升级的锁。如果需要从共享锁到独占锁,只需解锁共享锁并获得独占锁。那么在什么情况下我应该使用可升级的锁呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-20 12:54:27

如果需要升级,则会进行升级,而解锁不是一种选择。

考虑一个在读锁下读取某些信息的原子事务。当提交更新信息的时候到了,您不能在获得写锁之前放弃读锁,因为这意味着另一方可能已经改变了共享状态,使您的事务不再适用。

这是您升级锁的地方--这保证了在同一时间内不会有任何其他方获得写锁。

IOW:解锁产生控制。解决这一问题的另一种方法是,如果您/可能/希望稍后编写一些东西,则始终获取写锁。但这会导致过多的独占锁定,而这正是读者/写入器锁的目的所在。

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

https://stackoverflow.com/questions/30953460

复制
相关文章

相似问题

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