gpt4 book ai didi

c++ - atomic_thread_fence 的范围是什么?

转载 作者:行者123 更新时间:2023-11-30 02:19:01 25 4
gpt4 key购买 nike

*请理解我不是来自英语国家,所以如果您不明白我的问题,请告诉我,以便我换句话解释。 J

atomic_thread_fence 的围栏作用域是否是一个被指定为“{}”的作用域单元?

例如,MainActivity C++

//section A
if(A == 1)
{
//section B
atomic_thread_fence(..);
//section C
}
//section D

关于上面的代码,我想知道围栏是只在B区和C区应用,还是在其他区也应用。

谢谢~

最佳答案

栅栏没有范围的概念。相反,他们有在栅栏之前加载/存储的概念,以及在栅栏之后加载/存储的概念:在您的示例中,加载/存储 before 包括 B 和 A 部分(以及之前)的那些部分。围栏之后的加载和存储包括 C 和 D 部分(以及之后)的加载和存储。

并且栅栏只有在A == 1 时才会有效果(即,位于未被采纳的分支中的栅栏不会有任何副作用)。

关于c++ - atomic_thread_fence 的范围是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51399215/

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