Interlocked系列函式

2021-07-16 08:44:51 字數 383 閱讀 3570

1.增減操作

long__cdecl interlockedincrement(long volatile* addend);

long__cdecl interlockeddecrement(long volatile* addend);

返回變數執行增減操作之後的值。

long__cdec interlockedexchangeadd(long volatile* addend, longvalue);

返回運算後的值,注意!加個負數就是減。

2.賦值操作

long__cdecl interlockedexchange(long volatile* target, longvalue);

value就是新值,函式會返回原先的值。

Interlocked系列互鎖函式

增減 1 long interlockedincrement in out long volatile lpaddend lpaddend為長整型變數的位址,返回值為原始值。這個函式的主要作用是原子性自增 相當於 操作 2 long interlockeddecrement in out long ...

原子訪問 Interlocked系列函式

我們都知道,windows是乙個搶占式的多執行緒環境,因此系統可能會在任意時刻暫停乙個執行緒,切換到另乙個執行緒讓新的執行緒繼續執行。請看這段 2個執行緒函式,各有乙個for迴圈,1000w次,那麼,我們或許會認為,最終輸出的 g x的值會是 1000w 1000w 20000000?但是,在多執行...

Interlocked類的靜態方法

1.public static class interlocked2.add int32,int32 對兩個 32 位整數進行求和並用和替換第乙個整數,上述操作作為乙個原子操作完成。add int64,int64 對兩個 64 位整數進行求和並用和替換第乙個整數,上述操作作為乙個原子操作完成。3.c...