[問題] winapi waitforsingleobject 問題

看板C_and_CPP (C/C++)作者 (哇勒)時間8年前 (2017/11/29 14:40), 編輯推噓0(0021)
留言21則, 4人參與, 8年前最新討論串1/1
請問在撰寫windows的程式時 需要使用到waitforsingleobject()以及setevent() 如果要撰寫在wndproc這個訊息處理程式裡面呢 目標: 開兩條執行緒 第一條wait 第二條條做完給event 然後第一條在做剩下的事 假設我要 執行緒一:畫圓然後wait第二條執行緒給event 執行緒二:畫三角形然後setevent 之後執行緒一再做一個動作畫圖或是顯示文字 這有辦法做到嗎 不曉得有沒有大大有相關的範例能提供我參考 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.151.235 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1511937606.A.2B6.html

11/29 14:48, 8年前 , 1F
不要寫在WndProc裡,你會把UI卡在Wait然後整個程式不動
11/29 14:48, 1F

11/29 14:49, 8年前 , 2F
你說的兩個執行緒都另開新的就好了,UI 放著做他該做的事
11/29 14:49, 2F

11/29 15:06, 8年前 , 3F
在WM_create 寫兩個 _beginthread嗎?
11/29 15:06, 3F

11/29 15:07, 8年前 , 4F
因為還是新手 不知道怎麼在thread裡面畫圖
11/29 15:07, 4F

11/29 15:23, 8年前 , 5F
為什麼要在 work thread 繪圖,資料處理完再叫 UI thread
11/29 15:23, 5F

11/29 15:23, 8年前 , 6F
更新畫面就好了 (InvalidateRect()之類)
11/29 15:23, 6F

11/29 15:24, 8年前 , 7F
thread 畫圖不是不行,但有些麻煩事要處理
11/29 15:24, 7F

11/29 15:25, 8年前 , 8F
我不確定你為何會想做這麼不正常的事,可能要從頭規劃程式
11/29 15:25, 8F

11/29 17:28, 8年前 , 9F
不一定要在thread畫圖 還是有其他辦法看出thread有
11/29 17:28, 9F

11/29 17:28, 8年前 , 10F
在等待 然後有給event
11/29 17:28, 10F

11/29 20:38, 8年前 , 11F
send 自己定義的 message 給 UI thread 叫他顯示就行了
11/29 20:38, 11F

11/29 20:39, 8年前 , 12F
反正你只是要表現出兩個 thread 有在互動
11/29 20:39, 12F

11/29 20:39, 8年前 , 13F
把 UI thread 當作計分板,通知他變更畫面
11/29 20:39, 13F

11/29 23:15, 8年前 , 14F
想再請教一點 請問怎麼確定有開成功 兩條thread?
11/29 23:15, 14F

11/29 23:41, 8年前 , 15F
Debug->Windows->Thread 我猜...
11/29 23:41, 15F

11/30 03:55, 8年前 , 16F
我用debugview 看輸出的字 設定的兩個thread都有跑
11/30 03:55, 16F

11/30 03:55, 8年前 , 17F
到 但是有人說 看起來好像是同一個thread? Debugvie
11/30 03:55, 17F

11/30 03:55, 8年前 , 18F
w 輸出的字前面[]的數字代表什麼呢
11/30 03:55, 18F

12/05 21:01, 8年前 , 19F
這個問題呢往那個「有人」肚子上揍一拳罵他外行就可以了
12/05 21:01, 19F

12/05 21:03, 8年前 , 20F
回頭看看你的整個問題,應該是這個 one punch 法最有效
12/05 21:03, 20F

12/05 21:04, 8年前 , 21F
怎麼看都是有人自己不懂在那邊刁難你
12/05 21:04, 21F
文章代碼(AID): #1Q7bP6As (C_and_CPP)
文章代碼(AID): #1Q7bP6As (C_and_CPP)