用的 thread t(func, xx);去執行一個比較耗時的操作,caffe的分類操作。
單步除錯發現邏輯沒問題,可以一步一步正確執行。但是執行時界面就會卡死。
uj5u.com熱心網友回復:
后臺執行緒,不要直接操作界面,而是給界面發送訊息uj5u.com熱心網友回復:
上代碼,光這么說誰也不知道是什么問題uj5u.com熱心網友回復:
后臺執行緒適當的添加 Sleep(0) 切換執行緒uj5u.com熱心網友回復:
沒操作界面,我界面壓根沒什么東西
uj5u.com熱心網友回復:
SLeep用了沒效果uj5u.com熱心網友回復:
聯系我,幫你除錯下吧
uj5u.com熱心網友回復:
Multiple Threads in the User Interface http://msdn.microsoft.com/zh-cn/library/ms810439.aspxuj5u.com熱心網友回復:
執行緒跟界面互動的時候盡量PostMessage的方式uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
執行緒跟界面互動的時候用發送訊息uj5u.com熱心網友回復:
代碼貼出來, 才好分析.界面卡, 百分之百是在UI執行緒做了耗時操作,或者其它東西阻塞了UI執行緒的訊息回圈.
uj5u.com熱心網友回復:
執行緒一般不會卡界面,你肯定做了什么堵塞主執行緒的事情,才讓界面給卡主了,要么上代碼,要么好好查下。uj5u.com熱心網友回復:
你應該是某個控制元件的重繪會一直進行,造成了堵塞。我之前也遇到過,單步除錯沒問題,執行就感覺不行,被堵塞的樣子。uj5u.com熱心網友回復:
執行緒里有死回圈轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/92551.html
標籤:界面
下一篇:mfc空間代碼
