看板 C_and_CPP 關於我們 聯絡資訊
因為 event 沒放在 queue 裏面做 dispatch 會產生之前的 event 沒人處理, 你後面的 event 卡死前面 所以 Win32 才會要求 所有的執行都要先送到 event queue 內 再處理 最常見的是 multi-thread, 因為 thread 執行順序是隨機的 如果你用 call function 則會在 main process 內執行 而非在 thread 內執行 常碰到的是記憶體位置會有重複寫入的問題 如果不用 event 做 Synchronous 那就請用 mutex, interlock, critical section, semaphore 這些 同步元件來做處理 event 是因為寫程式的人不用管同步, win32 會自己做同步 ※ 引述《ghkckhg (行人)》之銘言: : VC6.0 MFC : 對於SendMessage這個函式, : 我和我同事始終不懂為何不直接呼叫就好(或許會多一兩道工)? : 反正兩者都會等待執行完畢, : 而且直接呼叫明確許多。 : 我觀察到這個語法在Multi-Thread好像比較常出現, : 但還是不知道為什麼... : 有什麼樣的時機只有SnedMessage適合使用呢? : 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.139.242
s8911124:推這篇 10/09 13:30
ghkckhg:@@ 講得有點深了 我回去研究一下windows programming... 10/09 14:47
firose:看不懂... 10/09 18:46
damody:水喔! 不過這些東西以前要有學過才看的懂。 10/09 21:06