0
我一直在努力与多线程现在...设法在昨天晚上在我当前的程序工作,我想要的是有一个简单的计时器运行,而我我仍然可以使用我的应用程序。多线程与C++的WinApi
我用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 ::时间表FUNC计算时间,在静态的100ms的Sleep(100);
间隔输出窗口并每100ms更新一次窗口。
现在我想问什么,因为我没有真正理解这一切的大惊小怪,为什么有这么多额外的东西? 如WaitForSingleObject
,我见过很多,但无法弄清楚它的实际用途。除了ReleaseMutex()
之外,有什么我应该留意的吗?
'我一直在多线程中苦苦挣扎......'Mutithreaded编程并不是微不足道的。你的小例子现在有很多问题,例如确保Mutex真的被释放(如果'ID_MENUBUTTON4'永远不会被执行?)。我强烈建议从实际示例程序中查看和学习,并阅读关于多线程编程的主题和书籍(不,MSDN不会教你多线程编程),而不是编写自己的代码。 – PaulMcKenzie
我已将ReleaseMutex添加到所有出站,如果这就是您的意思。 – Survaf93