我在辅助线程中有这段代码:
DWORD result = WaitForSingleObject(myhandle,10000);
if(result == WAIT_OBJECT_0){
AfxMessageBox(_T(...));
}
else if(result == WAIT_TIMEOUT){
AfxMessageBox(_T("Timeout"));
}
有时,并非总是如此,几乎只要调用 WaitForSingleObject 就会调用超时(甚至不是 1s 延迟)。
难道我做错了什么 ?对更稳定的替代品有什么建议吗?
编辑:
myhandle
在类构造函数中创建为:
myhandle = CreateEvent(NULL,FALSE,FALSE,_T("myhandle"));
它会被另一个函数调用:
SetEvent(myhandle);
关键是它在我执行 SetEvent 时有效,问题是它有时会在调用 WaitForSingleObject 时立即超时,即使它应该等待 10 秒。