多线程3:MFC中用户界面线程的相关操作

文章目录

  • 前言
  • 一、工作线程与界面线程的区别
    • 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 //

你可能感兴趣的:(多线程,mfc,ui,c++,开发语言,windows)