一尘不染

C#中的原子操作是什么?

c#

是否有系统的方法来了解C#中的操作是否为原子操作?还是有任何一般性准则或经验法则?


阅读 650

收藏
2020-05-19

共1个答案

一尘不染

对于更完整/更详细的内容:

对32位值类型的读写是原子的:这包括以下固有值(结构)类型:bool, char, byte, sbyte, short, ushort, int, uint, float。以下类型(以及其他类型)不保证是原子类型:decimal, double, long, ulong

例如

int x;
x = 10; // atomic
decimal d;

d = 10m; // not atomic

引用分配也是一个原子操作:

private String _text;
public void Method(String text)
{
  _text = text; // atomic
}
2020-05-19