编辑
2023-03-25
C#
0
请注意,本文编写于 609 天前,最后修改于 609 天前,其中某些信息可能已经过时。

目录

原子性 Atomicity 概念
C#中原子性操作

原子性 Atomicity 概念

  • 原子性意味着一个操作(或一系列操作)是不可分割的,即在执行过程中不会被其他操作打断
  • 原子操作在某一时刻只能被一个线程执行,并且在操作完成之前,其他线程无法访问该操作正在处理的资源
  • 有助于确保数据一致性和线程安全性
  • 利用原子操作,确保数据的修改是一致的,避免竞争,常见多线程场景

C#中原子性操作

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 许可协议。转载请注明出处!