首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >InterlockedRead在哪?

InterlockedRead在哪?
EN

Stack Overflow用户
提问于 2009-07-05 18:33:10
回答 3查看 4.6K关注 0票数 20

Win32应用程序接口有一组InterlockedXXX函数来原子地同步操作简单的变量,但是似乎没有任何InterlockedRead函数来简单地检索变量的值。怎么会这样?

MSDN says表示:

对正确对齐的32位变量的简单读写都是原子操作

但补充说:

但是,不能保证访问是同步的。如果两个线程从同一个变量读取和写入,则无法确定其中一个线程是否会在另一个线程执行其写入操作之前执行其读取操作。

据我所知,这意味着一个简单的变量读操作可以同时进行另一个操作,比如InterlockedAdd操作。那么为什么没有一个互锁函数来读取变量呢?

我猜这个值可以被读取为InterlockedAdd-ing 0的结果,但这似乎不是正确的方法。

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

https://stackoverflow.com/questions/1084594

复制
相关文章

相似问题

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