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