工作线程不要对界面操作
来源:互联网 发布:在线画板软件 编辑:程序博客网 时间:2024/05/22 09:38
MFC并不是线程安全的,用子线程操作用户界面,可能导致线程主线程无法终止。
例如在子线程处理函数中进行如下操作:
Ondestroy中等待子线程结束:
当关闭对话框时后,从资源管理器中依旧可以看到线程并未终止。
另外,企图在线程处理函数结束时弹出一个MessageBox进行直观确认时,不能使用MFC中的MessageBoX,因其默认以对话框作为父窗口,这样也会导致主线程无法结束。而需要使用标准的Windows API并将父窗口置为NULL。
当使用MessageBox(L"a")时,关闭对话框后并没有MessageBox弹出,且从资源管理器中可发现子线程无法关闭。
测试代码下载
0 0
- 工作线程不要对界面操作
- 不要在使用Sleep等待线程结束,不要在线程中操作界面
- MFC 工作线程和界面线程
- [MFC]界面线程和工作线程
- c#跨线程操作界面
- MFC创建线程(工作线程和界面线程)
- 不要对用基类指针操作子类数组
- 工作线程中如何更新界面
- c# winform 工作线程访问修改界面线程
- 工作线程和界面线程之间的通讯
- android UI 操作 不要在子线程中操作UI
- C#Winform线程操作界面控件
- VC在线程中操作界面(一)
- VC在线程中操作界面(二)
- 在线程中操作界面控件
- worker线程操作界面引起的死锁
- VC在线程中操作界面
- VC在线程中操作界面
- java中父类和子类初始化顺序
- 【嵌入式】STM32的库函数使用
- 欢迎使用CSDN-markdown编辑器
- 徒手hypervisor(三)
- UML类图的几种关系和序列图总结
- 工作线程不要对界面操作
- JAVA使用FTPClient类获取linux上的文件最后修改日期少了8小时
- 采用邻接矩阵实现有向网的存储,建立有向网,并实现单源最短路径
- C#在XP系统下调用C++ dll时报找不到指定模块
- DataGridView左键选中行改变行背景色,右键选中行不改变背景色。左键选中行的背景色不变
- phpstorm 2016.2 学习笔记
- LeetCode No.97 Interleaving String
- canvas画正六边形
- AndroidStudio生成自定义的混淆jar包(同时将assets目录打入jar包)(二)(by 星空武哥)