概要
当多个任务对一个int 型整数进行自增操作时,(是int简单类型而不是Integer对象),也需要用到同步方法。但如果这时使用Lock,Moniter或SpinLock时总是显得得不偿失。一个自增操作的开销非常小,但此时加锁,等待,解锁操作的开销远远大于一个自增的操作。这时可以考虑使用 Interlocked类,它提供了原子操作。而且需要的代价非常低,简单轻便。
Interlocked提供了一组原子操作的接口,可以提供不同的操作方式
参考: https://msdn.microsoft.com/zh-cn/library/system.threading.interlocked.aspx
代码示例:
using System;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics;
namespace Sample5_8_semaphoreslim
{
c