gpt4 book ai didi

c++ - 由于未调用 _ReadBarrier() 而导致错误的示例程序是什么?

转载 作者:太空狗 更新时间:2023-10-29 23:08:22 24 4
gpt4 key购买 nike

由于未调用 _ReadBarrier() 而存在错误的示例程序是什么?

有关 _ReadBarrier() 的 MSDN 文章: http://msdn.microsoft.com/en-us/library/z055s48f(v=vs.120).aspx

最佳答案

这篇文章由我最喜欢的博主撰写,将解释您曾经遇到过的关于读写障碍的一切:Barrier (而且以一种非常幽默和半开玩笑的方式)

这篇文章相当长,从同步的基础知识(互斥)开始,然后越来越深入地探讨不同的轻量级同步方法,并详细讨论了障碍。每一步都有示例程序,包括它们的奇怪行为(以及由于 CPU 的行为而难以在现代机器上表现出这种行为)。


顺便说一句,(引用 Hans 的评论)并不是只有 Itaniums 会遇到同步错误,Itaniums 被设计为充分利用完全重新排序和并行化,前提是开发人员/编译器知道他/她/它正在并将在所有正确的地方使用障碍。 x86 等其他平台保证某些指令将按顺序执行,而 x86_64 等其他平台不保证其他指令的顺序,但在实践中并且主要出于健全性和兼容性原因,会执行它们(通常)按顺序排列(请参阅链接的博客文章)。

关于c++ - 由于未调用 _ReadBarrier() 而导致错误的示例程序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9952009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com