gpt4 book ai didi

c++ - +=、|=、&= 等是原子的吗?

转载 作者:IT老高 更新时间:2023-10-28 12:38:00 32 4
gpt4 key购买 nike

+=|=&= 等“修改”运算符是原子的吗?

我知道 ++ 是原子的(如果你在两个不同的线程中“同时”执行 x++;,你总是会得到 x 增加了 2,与关闭优化的 x=x+1 相比。)

我想知道 variable |= constant 等是否是线程安全的,还是我必须用互斥锁来保护它们?

(……还是依赖于 CPU?在这种情况下,它在 ARM 上如何?)

最佳答案

你错了。不能保证++ 是原子的,复合赋值运算符也不能保证,甚至任何 C++ 操作也不能保证。

关于c++ - +=、|=、&= 等是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2468857/

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