【发布时间】:2014-01-27 06:54:19
【问题描述】:
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, 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 实现它?
【问题讨论】:
-
是什么让您认为 2010 不支持互斥锁?见这里msdn.microsoft.com/en-us/library/windows/desktop/…
标签: c++ multithreading visual-studio-2010 visual-c++ locking