c# - C# 中的复合赋值 ^= 是原子的吗?

标签 c# atomic

我想知道复合赋值 ^= 在 C# 中是否是原子的。 我真正需要做的是旋转(如果值为 0,则将其设置为 1,如果值为 1,则将其设置为 0)具有单个原子操作的 Int32 变量。

最佳答案

正如上面的回答,x^=1 不是原子的。您可以使用 Interlocked.Increment(它是原子的)然后在读取时考虑值 % 2 吗?

关于c# - C# 中的复合赋值 ^= 是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291994/

相关文章:

c# - 从异步函数获取当前方法名称?

javascript - 从 aspx 调用 Javascript 函数

c - 如何实现atomic_min?

opengl - 损坏的 GLSL Spinlock/GLSL Locks Compendium

java - 计算 catch block 中发生的异常数

c++ - Openmp 原子和关键

c# - Fluent合并到main.exe后出现的问题

C# 套接字多线程 Lambda

c# - 如何删除 XML 中的节点标记

C++11 无锁自动更新 2 个变量