假如读写变量的类型大小不超过一个本机(指针大小)整数,CLR就能保证该类型不会被部分性地读取或写入。所以,64位操作系统保证能够原子性的读写一个long(64位)。然而128位变量(decimal)的读写就不保证是原子性的。因此,通过写操作更改一个decimal变量时,可能会在仅仅复制了32位之后被打断,造成以后读取一个不正确的值,这称为一次被撕裂的读取。
即在64位操作系统下,对64位以下包括64位大小的变量进行读写操作时,是原子性的,32位同理。
假如读写变量的类型大小不超过一个本机(指针大小)整数,CLR就能保证该类型不会被部分性地读取或写入。所以,64位操作系统保证能够原子性的读写一个long(64位)。然而128位变量(decimal)的读写就不保证是原子性的。因此,通过写操作更改一个decimal变量时,可能会在仅仅复制了32位之后被打断,造成以后读取一个不正确的值,这称为一次被撕裂的读取。
即在64位操作系统下,对64位以下包括64位大小的变量进行读写操作时,是原子性的,32位同理。