首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >共享内存中的同步

共享内存中的同步
EN

Stack Overflow用户
提问于 2021-02-15 15:53:21
回答 1查看 68关注 0票数 0

我有一个c++应用程序,它会不断更新特定的共享内存块。我还有另一个dotnet核心应用程序,每当需要数据时,它都会从该块读取数据。目前我正在使用一个同步标志,每当c++应用程序开始更新时,它都会将标志设置为真,并在更新完成后将其设置为假。Dotnet核心应用程序在读取之前检查标志是否为假。但我认为这种方法存在一些问题。有没有其他方法可以做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2021-02-15 16:00:22

是的,它被称为“互斥”。从本质上讲,这意味着你“锁定”了一个资源,并且只有在你使用完它之后才给它免费。确保其他应用程序不能更改变量/数据,这反过来会防止某些形式的竞争条件。通常使用标志和互斥锁的组合。在读写期间互斥一个变量,并在该操作完成时设置标志.读取时的互联式确保数据不会在写入操作中途读取,因为写入是不可能的,反之亦然,从而导致损坏(竞争条件)。还有很多其他的方法。谷歌“多线程资源管理”或“并发”以获取更多信息。并查看wiki

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

https://stackoverflow.com/questions/66204376

复制
相关文章

相似问题

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