MFC 界面卡死问题,用了线程

hrlhrl0 2017-07-20 08:21:09
用的 thread t(func, xx);去执行一个比较耗时的操作,caffe的分类操作。
单步调试发现逻辑没问题,可以一步一步正确执行。但是执行时界面就会卡死。
...全文
1355 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2017-07-26
  • 打赏
  • 举报
回复
线程里有死循环
chen_JADE 2017-07-26
  • 打赏
  • 举报
回复
你应该是某个控件的刷新会一直进行,造成了堵塞。我之前也遇到过,单步调试没问题,执行就感觉不行,被堵塞的样子。
羽毛乱发 2017-07-25
  • 打赏
  • 举报
回复
线程一般不会卡界面,你肯定做了什么堵塞主线程的事情,才让界面给卡主了,要么上代码,要么好好查下。
sichuanwww 2017-07-24
  • 打赏
  • 举报
回复
xiaohuh421 2017-07-24
  • 打赏
  • 举报
回复
代码贴出来, 才好分析. 界面卡, 百分之百是在UI线程做了耗时操作,或者其它东西阻塞了UI线程的消息循环.
zhujinqiang 2017-07-24
  • 打赏
  • 举报
回复
线程跟界面交互的时候用发送消息
赵4老师 2017-07-21
  • 打赏
  • 举报
回复
Multiple Threads in the User Interface http://msdn.microsoft.com/zh-cn/library/ms810439.aspx
叶恭介叶恭介 2017-07-21
  • 打赏
  • 举报
回复
联系我,帮你调试下吧
hrlhrl0 2017-07-21
  • 打赏
  • 举报
回复
引用 3 楼 zgl7903 的回复:
后台线程适当的添加 Sleep(0) 切换线程
SLeep用了没效果
hrlhrl0 2017-07-21
  • 打赏
  • 举报
回复
引用 1 楼 hdt 的回复:
后台线程,不要直接操作界面,而是给界面发送消息
没操作界面,我界面压根没什么东西
zgl7903 2017-07-21
  • 打赏
  • 举报
回复
后台线程适当的添加 Sleep(0) 切换线程
hurryboylqs 2017-07-21
  • 打赏
  • 举报
回复
线程跟界面交互的时候尽量PostMessage的方式
孤客天涯 2017-07-20
  • 打赏
  • 举报
回复
上代码,光这么说谁也不知道是什么问题
真相重于对错 2017-07-20
  • 打赏
  • 举报
回复
后台线程,不要直接操作界面,而是给界面发送消息

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧