InterlockedExchangeAdd()函数是解决互斥的一个简单方法,与信号量,互斥作用相当。
原型如下:
LONG InterlockedExchangeAdd(PLONG Addend, LONG Value);
该函数可实现对一个long型变量的相加操作。
第一个参数 是传入的一个长整形变量
第二个参数 是每次操作递增的量值
例子:
long g_iData = 0; // 全局变量
// 线程体
unsigned int __stdcall ThreadFunc(void* param)
{
InterlockedExchangeAdd(&g_iData, 2);
return 0;
}
执行完 InterlockedExchangeAdd
g_iData 增加2