Interlocked類的靜態方法

2021-08-14 16:26:24 字數 765 閱讀 3708

1.public static class interlocked
2.add(int32, int32)	

對兩個 32 位整數進行求和並用和替換第乙個整數,上述操作作為乙個原子操作完成。

add(int64, int64)

對兩個 64 位整數進行求和並用和替換第乙個整數,上述操作作為乙個原子操作完成。

3.compareexchange(t, t, t)	

比較兩個指定的引用型別的例項 t 是否相等,如果相等,則替換第乙個。

eg.interlocked.compareexchange(ref somestate, newstate, null);

4.decrement(int32)	

以原子操作的形式遞減指定變數的值並儲存結果。

decrement(int64)

以原子操作的形式遞減指定變數的值並儲存結果。

eg.int i = 0;

interlocked.decrement(ref i);

5.increment(int32)	

以原子操作的形式遞增指定變數的值並儲存結果。

increment(int64)

以原子操作的形式遞增指定變數的值並儲存結果。

eg.int i = 0;

interlocked.increment(ref i);

靜態類 和 非靜態類的區別

1 不能在靜態類中宣告例項成員 變數和方法 2 非靜態類中可以呼叫靜態類中的成員和方法 3 呼叫靜態類中的成員或方法時不需要例項化 4 非靜態類中可以宣告靜態成員或靜態方法 5 靜態方法的使用效率比非靜態方法的使用效率高 6 靜態方法與靜態成員變數一樣,屬於類本身,在類裝載的時候被裝載到記憶體,不自...

C 靜態類與非靜態類 靜態成員的區別

靜態類 靜態類與非靜態類的重要區別在於靜態類不能例項化,也就是說,不能使用 new 關鍵字建立靜態類型別的變數。在宣告乙個類時使用static關鍵字,具有兩個方面的意義 首先,它防止程式設計師寫 來例項化該靜態類 其次,它防止在類的內部宣告任何例項欄位或方法。靜態類是自c 2.0才引入的,c 1.0...

使用Interlocked進行數字的原子操作

net 的interlocked 方法提供了一些方法進行數字的原子加減和賦值,例如 increment,decrement 和 and 方法,但是還遠遠不夠,所以 net via c 書中提到了 interlocked anything 模式,書中通過 compareexchange 方法實現了乙個...