Interlocked.Increment
是 .NET 中的一个原子操作方法,用于线程安全地将一个整型变量递增 1。Interlocked.Increment
是线程安全地递增整数的标准方式,适用于高并发计数场景。
定义:
public static int Increment(ref int location);
作用
原子级别地将 location
的值加 1,并返回递增后的新值。
特点:
特性 | 说明 |
---|---|
线程安全 | 多个线程同时调用也不会出现竞态条件。 |
原子性 | 操作不可中断,底层由 CPU 指令保证。 |
返回值 | 返回递增后的新值。 |
示例:
int count = 0;Task.Run(() => Interlocked.Increment(ref count));
Task.Run(() => Interlocked.Increment(ref count));Thread.Sleep(100);
Console.WriteLine(count); // 输出 2
对比普通递增:
count++; // 非线程安全,可能被中断