long globalVar = 0;//Global value for testing
DWORD WINAPI ThreadFuncInterlock1(PVOID pParam)
{
InterlockedExchangeAdd(&globalVar, 1);
cout << globalVar <<endl;
//globalVar++;
return 0;
}
DWORD WINAPI ThreadFuncInterlock2(PVOID pParam)
{
InterlockedExchangeAdd(&globalVar, 1);
cout << globalVar <<endl;
//globalVar++;
return 0;
}
HANDLE hadle1 = CreateThread(NULL, 0, ThreadFuncInterlock1, NULL, 0, NULL);
HANDLE hande2 = CreateThread(NULL, 0, ThreadFuncInterlock2, NULL, 0, NULL);
另外,还有很多其他的互锁函数,例如:
InterlockedCompareExchange