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