[問題] 有關MultiThread的問題
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: Thread WaitForSingleObject會hang
希望得到的正確結果:不會hang
程式跑出來的錯誤結果:
開發平台:VC2003 (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
有問題的code: (請善用置底文標色功能)
我的Code大致如下
//main
1.CreateThread (一次建出3條thread)
成功之後
2.CreateEvent(g_ExitExitEvent, TRUE, FALSE, NULL); && SetEvent(g_ExitEvent)
3.WaitForMultipleObject(all)
end
// Thread
每個thread做的事情都是
1. printf("hell")
2. 透過if(WaitForSingleObject(g_ExitEvent, INFINITE) == WAIT_OBJECT_0);
等待main的將event signaled後 return掉
但目前遇到的狀況是
每次都只有一個Thread會收到event然後return
其他Thread都會hang在 WaitForSingleObject
我CreateEvent中 bManualSet這參數設為True,照我的想法
應該就是event被signaled之後就會一直處於signaled狀態
不知道為何目前會跑出這樣的結果呢?
多謝各位看完,也希望高手能幫我解惑
謝謝各位
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.50.53.228
※ 編輯: theee 來自: 123.50.53.228 (12/15 21:51)
→
12/15 22:47, , 1F
12/15 22:47, 1F
→
12/15 22:47, , 2F
12/15 22:47, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章