关于多线程PostMessage和SenMessage的一点问题
来源:互联网 发布:mac电脑pdf如何编辑 编辑:程序博客网 时间:2024/05/22 04:24
这两天一直在写多线程的程序
有点意思
--------------------------------------分割线--------------------------------------
PostMessage和SendMessage()
SendMessage()是等待消息处理完毕后才返回
所以界面会卡住
配合 UpdataWindow()刷新界面会好点,至少不会出现程序的假死现象
但是,还是动不了,这个颇让我有点郁闷
----------------------------------------分割线---------------------------------
PostMessage()是直接放到消息队列就走了,不管执行不执行,这个是很好,很不错
但是,在线程执行的过程中,如果你强制退出了,在Debug情况下,会出现断言失败
真郁闷
我想可能是发送的消息没有处理而程序已经退出了所导致的吧
-----------------------------------又是分割线------------------------------------
解决的方法是
-------------------------------此方法貌似不对-------------------------------------
将this指针作为参数传入后
CDiskRecoveryDlg *hwnd=(CDiskRecoveryDlg*)CWnd::FromHandle(((CDiskRecoveryDlg*)lpParam)->m_hWnd);
CDiskRecoveryDlg *thispointer=(CDiskRecoveryDlg *)lpParam;
用thispointer->UpdateWindow();
用hwnd->PostMessage(WM_UPDATE_MESSAGE,0,0);
在强制退出的时候就不会出现断言失败了
-------------------------------------------------------------------------------------
貌似我用了sleep(1)来等待一下可以解决,
真正的原因是
当我关闭窗口后,系统还是继续处理消息,调用了UpdateData函数,而此时窗口已经销毁,所以出现错误。
期待高手探讨,这个问题困惑我很久了
- 关于多线程PostMessage和SenMessage的一点问题
- 关于PostMessage与SendMessage的一点体会
- 关于PostMessage在多线程中的内存释放问题
- 关于SendMessage和PostMessage的一些说法
- 关于SendMessage和PostMessage的使用感悟
- 关于SendMessage和PostMessage的使用感悟
- 一点关于java多线程编程的效率问题
- 关于strlen和strcpy的一点问题
- 关于编译和链接的一点问题
- sendmessage,和postmessage的区别问题
- 关于多线程的一点总结
- 关于多线程的一点笔记
- 关于多线程的一点感想
- 关于C#多线程的学习和一点疑惑
- 关于android的Asset文件夹和画图的一点问题
- 多线程中关于synchronized的一点事
- 关于JAVA多线程编程的一点笔记
- 关于java中多线程的一点理解
- 事业环境因素和组织过程资产的理解与比较
- JAVA大数类练手
- Cookie和Session的区别
- 全局变量
- JdbcHelper
- 关于多线程PostMessage和SenMessage的一点问题
- SQL Server 的最大容量规范
- Myeclipse8.5GA优化笔记,附图
- SQL查询与修改数据库逻辑文件名,移动数据库存储路径示例
- HDMI、DVI、VGA、RGB、分量、S端子)高清接口图片说明
- php5概念总结之一
- SQL SERVER DateDiff、DATEADD方法的用法
- 对主机名进行IP地址解析(相关知识介绍)
- 10的负1000次幂