C++ 如何在Visual C++;2010
看来VC++2010不支持互斥。我有一个函数如下C++ 如何在Visual C++;2010,c++,multithreading,visual-studio-2010,visual-c++,locking,C++,Multithreading,Visual Studio 2010,Visual C++,Locking,看来VC++2010不支持互斥。我有一个函数如下 DWORD WINAPI WatchItThreadProc(LPVOID lpParam) { int *t=static_cast<int*>(lpParam); while (true) { short cpuUsage = usage.GetUsage(DWORD(*t)); printf("Thread id %d: %d%% cpu usage\n", *t
DWORD WINAPI WatchItThreadProc(LPVOID lpParam)
{
int *t=static_cast<int*>(lpParam);
while (true)
{
short cpuUsage = usage.GetUsage(DWORD(*t));
printf("Thread id %d: %d%% cpu usage\n", *t, cpuUsage);
Sleep(500);
}
}
DWORD i1=2632;
DWORD i2=4040;
void *p1=&i1;
void *p2=&i2;
CreateThread(NULL, 0, WatchItThreadProc, p1, 0, NULL);
CreateThread(NULL, 0, WatchItThreadProc, p2, 0, NULL);
我需要同步这两个线程以避免争用情况。如何用Visual C++ 2010实现?< /P> < P>互斥体是支持的。
参考:
您只需创建mutex()、WaitForSingleObject()和稍后的ReleaseMutex()来同步两个线程。您可能忘记了指向内核32库的链接。您为什么认为2010不支持互斥体?看这里