文章目录
- 前言
- 一、工作线程与界面线程的区别
- 1.在子线程中创建模态对话框
- 2.在子线程中创建非模态对话框
- 二、界面线程
- 1.界面线程的创建
- 总结
前言
多线程3:MFC中用户界面线程的相关操作。
一、工作线程与界面线程的区别
工作线程与界面线程主要是针对MFC中的线程来说的。默认情况下,通过CreateThread函数创建出来的线程都为工作线程。MFC中的函数AfxBeginThread有两种重载方式,一是创建工作线程(线程函数做一些数据处理,网络通信等不涉及到界面方面的操作)。创建工作线程的具体操作见https://blog.csdn.net/qq_59940419/article/details/145627499?spm=1001.2014.3001.5501,一是创建界面线程。工作线程与界面线程的主要区别在于消息循环,默认工作线程是没有消息循环的,界面线程是有消息循环的。
创建界面线程AfxBeginThread的函数原型为
CWinThread* AfxBeginThread(CRuntimeClass* pThreadClass, // 派生自 CWinThread 的类int nPriority = THREAD_PRIORITY_NORMAL, // 线程优先级UINT nStackSize = 0, // 堆栈大小(默认与主线程相同)DWORD dwCreateFlags = 0, // 创建标志(如 CREATE_SUSPENDED)LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL //