WaitForSingleObject(m_hEvent,INFINITE) ;
10年积累的网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有鞍山免费网站建设让你可以放心的选择与我们合作。WaitForSingleObject(m_hEvent, INFINITE) 函數用於停止一個指定的執行緒,直到有信號量或信號通知接收。
m_hEvent 是一個句柄,指向一個事件對象,它可以是由 CreateEvent、OpenEvent 或其他函數創建的。
INFINITE 常量定義為 0xFFFFFFFF,表示無限等待。也就是說,執行緒將一直等待直到有信號量或信號通知接收,並且不會超時返回。
簡而言之,WaitForSingleObject(m_hEvent, INFINITE) 函數讓當前執行緒暫停,直到有信號量或信號通知接收為止
使用 WaitForSingleObject(m_hEvent, INFINITE) 函數的基本步驟如下:
注意:請務必在不再使用事件對象時記得關閉它。例如:
CloseHandle(hEvent);
简单范例:
#include#includeusing namespace std;
HANDLE hEvent;
// 執行緒函數
DWORD WINAPI ThreadFunc(LPVOID lpParam)
{
cout<< "Thread started. Waiting for event..."<< endl;
// 等待事件
WaitForSingleObject(hEvent, INFINITE);
cout<< "Event received. Exiting thread..."<< endl;
return 0;
}
int main()
{
// 創建事件
hEvent = CreateEvent(NULL, TRUE, FALSE, TEXT("MyEvent"));
// 創建執行緒
HANDLE hThread = CreateThread(NULL, 0, ThreadFunc, NULL, 0, NULL);
cout<< "Press Enter to send event..."<< endl;
cin.get();
// 發送事件
SetEvent(hEvent);
// 等待執行緒結束
WaitForSingleObject(hThread, INFINITE);
// 關閉事件和執行緒句柄
CloseHandle(hEvent);
CloseHandle(hThread);
return 0;
}
執行結果如下:
Press Enter to send event...
Thread started. Waiting for event...
Event received. Exiting thread...
在上面的範例中,主程序創建了一個事件對象,並創建了一個執行緒。在執行緒中,調用了 WaitForSingleObject(hEvent, INFINITE) 函數,執行緒暫停執行,等待事件。在主程序中,使用 SetEvent(hEvent) 函数發送事件,執行緒恢復執行,然後結束。
在使用 WaitForSingleObject(m_hEvent, INFINITE) 函數時,還有一些需要注意的地方。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧