Windows Interlocked系列函数(1)

// 将Addend加上Value,相加的结果存储到Addend中,并且返回值也会返回该结果
//
LONG InterlockedAdd(
  LONG volatile* Addend,
  LONG Value
);


// 将Addend加上Increment,返回Addend加之前的值
//
LONG InterlockedExchangeAdd( 
    LPLONG Addend,
    LONG Increment  // 可以为负数
); 

// 将Target和Value进行交换,返回Target交换前的值
//
LONG InterlockedExchange( 
   LPLONG Target, 
   LONG Value 
);

// 比较Destination和Comperand,如果二者相等,则将Exchange赋值给Destination,返回Destination的原值;
// 如何二者不相等,则不进行任何操作,返回Destination的原值。
//
LONG InterlockedCompareExchange( 
   LPLONG Destination,
   LONG Exchange, 
   LONG Comperand
);


// lpAddend自增。自增结果会存储lpAddend,并且返回值也会返回自增的结果。
//
LONG InterlockedIncrement(
   LPLONG lpAddend
);

// lpAddend自减。自减结果会存储lpAddend,并且返回值也会返回自减的结果。
//
LONG InterlockedDecrement(
   LPLONG lpAddend
); 

Interlocked****系列函数使用可以参考MSDN:https://msdn.microsoft.com/en-us/library/windows/desktop/ms683580(v=vs.85).aspx

你可能感兴趣的:(#,Windows核心编程)