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指定以原子操作的形式
//将X值指定为Y值,并返回X值;