我有這樣一段代碼在輔助線程:WaitForSingleObject的超時太快
DWORD result = WaitForSingleObject(myhandle,10000);
if(result == WAIT_OBJECT_0){
AfxMessageBox(_T(...));
}
else if(result == WAIT_TIMEOUT){
AfxMessageBox(_T("Timeout"));
}
有時候,並非總是如此,超時將得到幾乎只要WaitForSingleObject的被稱爲所謂的(甚至沒有1秒的延遲) 。
我做錯了什麼?任何建議更穩定的替代品?
編輯:
myhandle
是一類構造器中創建爲:
myhandle = CreateEvent(NULL,FALSE,FALSE,_T("myhandle"));
會由另一個函數被調用:
SetEvent(myhandle);
點是它的工作原理時,我做SetEvent,問題是它有時會一旦WaitForSingleObjec就超時噸被稱爲,即使它應該等待10秒。
你還在等什麼?我的手柄從哪裏來? – RedX 2012-04-25 13:55:02
請參閱編輯:) ... – Smash 2012-04-25 14:07:55
您在等待之前和之後檢查了GetLastError()嗎? – 2014-02-25 20:48:30