是否存在原子 |=
or 和 atomic or 这样的东西?如果不是,在需要线程安全的变量中设置位的推荐技术是什么? (我在避免锁)
最佳答案
C++03 中没有这样的东西,但您可以使用供应商特定的功能。例如,您可以使用 InterlockedOr
在 window 上。在 C++0x 中,您可以使用 atomic_fetch_or
。
请注意,原子操作也需要锁定,尽管它在硬件级别上仍然很昂贵。
关于c++ - 有原子 |= 操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6479226/