关于C++中的GUI线程

大家知道,C++中线程分两种,一种是工作者线程,另外一种就是GUI线程,至于他们这间的区别大家可以上网上查找

这里我只是说明一下,创建GUI线程时,需要注意的地方。

有些和窗口相关的线程,最好是放在GUI线程里,因为和窗口或是特殊控件有关的初使化操作,GUI线程已经帮你合理的优化了,如果用工作者线程需要自己做这些操作,往往我们是做不好的。如果创建的MFC程序,在主窗口线程里再创建一个子线程,用来产生一个窗口,那么就用GUI线程,这时候,因为进程中有两个GUI线程,新创建的窗口发送WM_CLOSE后,窗口关闭,但是新创建的GUI线程并没有退出,造成内存泄露。所以后面创建的线程必需要自己处理,线程退出事件,具体操作如下:

新创建的GUI线程里的窗口类需要自己处理OnDestroy消息,并在此函数里调用PostQuitMessage(0);结束线程,所有的资源才能释放。

 

 

希望对你有帮助,有问题可以联系本人,guyuewuhua@163.com

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值