[討論] WINAPI 執行緒問題

作者: eric231 (嘻嘻雷夢)   2017-10-18 11:32:11
各位大大好
目前有一個command line下的USB測試程式
用winapi 的方式畫出一個UI
功能需求是想用本來在main loop 底下跑的function然後去
偵測event然後即時顯示在listbox上
請問是不是需要另外用 winapi create一個tread去run本來
main loop 底下跑的function?
附上程式碼
https://ideone.com/3lDWUG
作者: Lipraxde (Lipraxde)   2017-10-18 12:38:00
這種應該是畫ui、測event輪流執行就好了吧,不過把ui跟背景用不同的theard做也不錯
作者: eric231 (嘻嘻雷夢)   2017-10-18 13:08:00
所以一般是推薦新增一個tread然後再function裡面跑while算了用set_timer的方式去當loop好像比較單純
作者: stupid0319 (徵女友)   2017-10-18 17:01:00
桌機CPU沒那麼慢到要把UI跟CORE分開
作者: eric231 (嘻嘻雷夢)   2017-10-18 17:46:00
只是Winapi GUI不是預設就是單執行緒?如果要在whileloop跑我的code,不是一定要使用set_timer跟createtread(),不過createtread()一直跑步進我的fun,請問有人有資料參考嗎
作者: stupid0319 (徵女友)   2017-10-18 18:02:00
原PO問題應該是同步化問題吧,GetMessage卡死的話會無法接收下一個Message,視窗就看起來像當機一樣set_timer會讓視窗感覺會LAG樣子,createthread不錯
作者: Bencrie   2017-10-18 21:20:00
沒有什麼預設單執行緒。GUI 程式結構本來就是個 loop
作者: TeaEEE (愛不趴 不愛趴)   2017-10-19 12:19:00
如果是win7以上,io/顯示這類的走ppl簡單多了

Links booklink

Contact Us: admin [ a t ] ucptt.com