gpt4 book ai didi

c++ - 中间值和线程安全

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:54:54 24 4
gpt4 key购买 nike

在这样的表达式中:

a = b + c;

编译器是否有可能优化上面的代码来做:

a = b;
a += c;

我真正想知道的是其他线程是否可以看到 = 左侧变量中的中间计算结果。

最佳答案

使用 as-if 规则,优化编译器可以(几乎)对不涉及原子的表达式做任何它喜欢的事情,因为另一个线程无法观察到无数据争用程序中的差异。所以是的,编译器可以做到这一点,而其他线程只能通过数据竞争看到中间结果。

关于c++ - 中间值和线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21270810/

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