关于mfc异步调用线程的问题

来源:互联网  时间:2018/1/22 2:37:13

关于网友提出的“ 关于mfc异步调用线程的问题”问题疑问,本网通过在网上对“ 关于mfc异步调用线程的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 关于mfc异步调用线程的问题

解决方案1:

C++11开线程很简单的
 std::thread tt(&ClassName::FunName, this);
tt.detach();
上面就是基本结构,如果你的FunName方法带有参数,就在this后面加参数就行了,如:
void FunName(int i,int j);
 std::thread tt(&ClassName::FunName, this,1,2);
至于detach和join,自己可以百度看看区别,根据需求选择

解决方案2:

 关于mfc异步调用线程的问题
耗时导致ui阻塞了,解决办法就是开线程。 OnClick就开工作线程,修改工作状态为进行中。(比如设置在lable上显示)
工作线程完成了就SendMessage 给窗口 定义个WM_USER+ xxx 为导出完成消息。 窗口消息里把这个消息处理下,弹出窗口提示,什么的,你自己看着办

解决方案3:

引用 2 楼 u012072837 的回复:
Quote: 引用 1 楼 zgl7903 的回复:

onBnclick 中启动后台线程, 再启动一个定时器监视后台线程运行情况

那这里还是绕不开list的拷贝啊?

你只要保证list的生命期,可以传指针等过去。
解决方案4:

onBnclick 中启动后台线程, 再启动一个定时器监视后台线程运行情况

上一篇关于在CTLCOLOR消息中调用SetWindowTextW的问题
下一篇Win7+VS2010+MFC程序打包不成功
明星图片
相关文章
《 关于mfc异步调用线程的问题》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)