我的軟體的一個執行緒中有Sleep函式,比如Sleep2秒,但在電腦關機時,我想要這個執行緒立即停止Sleep,并執行后面的代碼,請問如何操作呢?
因為關機的時候,可能執行緒已經開始Sleep了,而電腦的關機行程并不會等你執行完這個執行緒,所以導致后面的代碼沒有執行完,請問有解決辦法嗎?
uj5u.com熱心網友回復:
執行緒中不要使用 Sleep函式uj5u.com熱心網友回復:
把Sleep 2秒 拆開來執行, 判斷標志DWORD dwOut= GetTickCount() + 2000;
while((! bExitFlag) && GetTickCount() < dwOut)
{
Sleep(1);
}
uj5u.com熱心網友回復:
不用Sleep,用超時為1秒的WaitForSingleObject這樣你可以在主執行緒隨時設信號讓wait結束。
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/28699.html
標籤:基礎類
下一篇:論壇里的各位大佬,一個關于MFC的問題,滾動條右鍵點擊,會出現一個選單,這個選單的內容為中文的,我想改為英文的,在哪里修改呢??
