标签: .net multithreading
布尔值是否有Interlocked.Exchange的等价物?
Interlocked.Exchange
例如返回先前值并且不需要锁定的值的原子交换?
答案 0 :(得分:8)
没有;使用整数而不是布尔值。
原则上可以编写这样的东西(cmpxchg,底层处理器指令,可以在x86,8,16,32,64和128位操作数上的8,16,32和64位操作数上运行) x64),但实际上大多数API都坚持使用指针和双指针(x86上的32位和64位,x64上的64位和128位)操作数,因为它们只是你真正需要的。