SF.*_*SF. 32 c c++ atomic operators thread-safety
就像是"修改"运营商+=,|=,&=等原子?
我知道++是原子的(如果你x++;同时在两个不同的线程中执行),你总是会x增加2,而不是x=x+1关闭优化.)
我想知道是否variable |= constant,以及喜欢是线程安全的还是我必须使用互斥锁来保护它们?
(...或者它是否依赖于CPU?在这种情况下,它在ARM上是怎么回事?)
小智 75
你错了.不能保证++是原子的,也不能保证复合赋值运算符,或者实际上对于任何C++操作.