WaitForSingleObject的用法
DWORD WaitForSingleObject(HANDLE hHandle,DWORD dwMilliseconds );
參數hHandle是一個事件的句柄,第二個參數dwMilliseconds是時間間隔。如果時間是有信號狀態返回WAIT_OBJECT_0,如果時間超過dwMilliseconds值但時間事件還是無信號狀態則返回WAIT_TIMEOUT。
hHandle可以是下列對象的句柄:
Change notification
Console input
Event
Job
Memory resource notification
Mutex
Process
Semaphore
Thread
Waitable timer
相關內容
WaitForSingleObject函式用來檢測hHandle事件的信號狀態,當函式的執行時間超過dwMilliseconds就返回,但如果參數dwMilliseconds為INFINITE時函式將直到相應時間事件變成有信號狀態才返回,否則就一直等待下去,直到WaitForSingleObject有返回直才執行後面的代碼。在這裡舉個例子:
先創建一個全局Event對象g_event:
CEvent g_event;
在程式中可以通過調用CEvent::setevent設定事件為有信號狀態。
在這個執行緒函式中可以可以通過設定MT_INTERVAL來控制這個執行緒的函式體多久執行一次,當事件為無信號狀態時函式體隔MT_INTERVAL執行一次,當設定事件為有信號狀態時,執行緒就執行完畢了。
參考:http://hi.baidu.com/ce%5Fken/blog/item/01eac024d46aff328744f9f2.html
編輯詞條
開放分類:
API