c#的swap -----interlocked.Excange

 名称说明
   Exchange<(Of <(T>)>)(T%, T) 以原子操作的形式,将指定类型 T 的变量设置为指定的值并返回原始值。
  Exchange(Double%, Double) 以原子操作的形式,将双精度浮点数设置为指定的值并返回原始值。
   Exchange(Int32%, Int32) 以原子操作的形式,将 32 位有符号整数设置为指定的值并返回原始值。
  Exchange(Int64%, Int64) 以原子操作的形式,将 64 位有符号整数设置为指定的值并返回原始值。
  Exchange(IntPtr%, IntPtr) 以原子操作的形式,将平台特定的句柄或指针设置为指定的值并返回原始值。
   Exchange(Object%, Object) 以原子操作的形式,将对象设置为指定的值并返回对原始对象的引用。
  Exchange(Single%, Single) 以原子操作的形式,将单精度浮点数设置为指定的值并返回原始值。

using System;

using System.Threading;

private void swap(int x,int y)

{

  y=interlocked.exchange(ref x,y);

//ref指定以原子操作的形式    

//  REF关键字百度百科http://baike.baidu.com/link?url=lGoVUqZkjy-VdERhY10dTTK5U8nNYyKx_mXYV7-1wHio5WUCUW8jPPnNuXp0FnUmADa5Q_pYGKVjVUIr8KnKcK

//将X值指定为Y值,并返回X值;

posted @ 2016-10-28 10:17  clarklxr  阅读(475)  评论(0编辑  收藏  举报