Interlocked介绍

Posted fanfan-90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Interlocked介绍相关的知识,希望对你有一定的参考价值。

说到线程安全,不要一下子就想到加锁,尤其是可能会调用频繁或者是要求高性能的场合。

 

Interlocked:

MSDN 描述:为多个线程共享的变量提供原子操作。主要函数如下:

Interlocked.Increment    原子操作,递增指定变量的值并存储结果。

Interlocked.Decrement       原子操作,递减指定变量的值并存储结果。

Interlocked.Add        原子操作,添加两个整数并用两者的和替换第一个整数

Interlocked.Exchange原子操作,赋值

Interlocked.CompareExchange(ref a, b, c);  原子操作,a参数和c参数比较,  相等b替换a,不相等不替换。(方法返回值始终是第一个参数的原值)

 

 

技术图片

 

以上是关于Interlocked介绍的主要内容,如果未能解决你的问题,请参考以下文章

Mono 上的 Interlocked.Read / Interlocked.Exchange 比 .NET 慢得多?

C#原子操作(Interlocked.Decrement和Interlocked.Increment)

Interlocked

Interlocked.Exchange<T> 比 Interlocked.CompareExchange<T> 慢吗?

Interlocked 是不是在所有线程中提供可见性?

Interlocked.CompareExchange 单线程等效代码