我已经在多线程中苦苦挣扎了一段时间......昨晚设法在我当前的程序中解决了这个问题,我想要的是在我还在的时候运行一个简单的计时器能够使用我的应用程序。
我使用msdn reference。
我设法使用以下代码使其正常工作(或者至少我认为它工作正常):
case ID_MENUBUTTON0:
hRunMutex = CreateMutex(NULL, TRUE, NULL);
_beginthread(Sistem::timeFrame, 0, NULL);
break;
case ID_MENUBUTTON4:
ReleaseMutex(hRunMutex);
PostQuitMessage(0);
break;
Sistem :: timeFrame func以100ms Sleep(100);
的间隔计算时间,并在静态窗口中输出并每隔100ms更新一次窗口。
现在我想问一下,因为我真的不明白所有关于这个的大惊小怪为什么会有这么多额外的东西?
比如WaitForSingleObject
,我已经看过很多,但无法弄清楚它的实际用途。除ReleaseMutex()
外,我应该注意什么?
答案 0 :(得分:1)
WaitForSingleObject和WaitForMultipleObjects用于使线程等待,直到另一个线程完成某事。实际使用是协调,就像在飞机下降之前不要降落飞机。