- 原子性意味着一个操作(或一系列操作)是不可分割的,即在执行过程中不会被其他操作打断
- 原子操作在某一时刻只能被一个线程执行,并且在操作完成之前,其他线程无法访问该操作正在处理的资源
- 有助于确保数据一致性和线程安全性
- 利用原子操作,确保数据的修改是一致的,避免竞争,常见多线程场景
Interlocked.Add(ref x, y);
相加
Interlocked.Decrement(ref counter);
递减
Interlocked.Increment(ref counter);
递增
int oldValue = Interlocked.Exchange(ref target, newValue);
将目标变量的值设置为新值,并返回操作前目标变量的值
int oldValue = Interlocked.CompareExchange(ref target, newValue, expectedValue);
如果目标变量的值等于预期值,则将目标变量的值设置为新值。返回操作前目标变量的值。
本文作者:宁骑
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!