using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace InterlockedDemo
{
class Program
{
static void Main(string[] args)
{
var sum = 0;
Interlocked.Increment(ref sum);
Console.WriteLine(sum);
Interlocked.Decrement(ref sum);
Console.WriteLine(sum);
Interlocked.Add(ref sum,20);
Console.WriteLine(sum);
Interlocked.Exchange(ref sum,60);
Console.WriteLine(sum);
var result =Interlocked.CompareExchange(ref sum,1000,60);
Console.WriteLine(sum);
Console.WriteLine(result);
Console.Read();
}
}
}
Interlocked, C#, 线程安全, 原子操作, 多线程
本文展示了如何在C#中使用Interlocked类进行线程安全的数值操作,包括递增、递减、加法、交换和比较交换操作。