?互鎖函數(shù)有那些?
(1) LONG InterlockedExchangeAdd ( LPLONG Addend, LONG Increment );
Addend為長整型變量的地址,Increment為想要在Addend指向的長整型變量上增加的數(shù)值(可以是負數(shù))。這個函數(shù)的主要作用是保證這個加操作為一個原子訪問。
(2) LONG InterlockedExchange( LPLONG Target, LONG Value );
用第二個參數(shù)的值取代第一個參數(shù)指向的值。函數(shù)返回值為原始值。
(3) PVOID InterlockedExchangePointer( PVOID *Target, PVOID Value );
用第二個參數(shù)的值取代第一個參數(shù)指向的值。函數(shù)返回值為原始值。
(4) LONG InterlockedCompareExchange(
LPLONG Destination, LONG Exchange, LONG Comperand?? );
如果第三個參數(shù)與第一個參數(shù)指向的值相同,那么用第二個參數(shù)取代第一個參數(shù)指向的值。函數(shù)返回值為原始值。
(5) PVOID InterlockedCompareExchangePointer (
PVOID *Destination, PVOID Exchange, PVOID Comperand );
如果第三個參數(shù)與第一個參數(shù)指向的值相同,那么用第二個參數(shù)取代第一個參數(shù)指向的值。函數(shù)返回值為原始值。