14.MFC线程

一、MFC线程

  1. 分类

    根据不同的用途,包括工作者线程和用户界面线程

  2. 工作者线程

    2.1 介绍

      没有单独的用户界面,常用来完成后台的耗时的操作

    2.2 使用

      CWinThread*  AfxBeginThread( AFX_THREADPROC            pfnThreadProc,  //线程处理函数

                                                              LPVOID                             pParam,  //主线程和子线程之间传递的参数

                                                              int                                    nPriority = THREAD_PRIORITY_NORMAL,

                                                              UINT                                 nStackSize = 0,

                                                              DWORD                            dwCreateFlags = 0,

                                                              LPSECURITY_ATTRIBUTES  lpSecurityAttrs = NULL);

     (1)定义线程函数

        线程处理函数原型:UINT  MyControllingFunction( LPVOID  pParam );

     (2)创建和启动线程

        AfxBeginThread( pfnThreadProc,  pParam, ... );

  3. 用户界面线程

    3.1 介绍

      拥有单独的用户界面和消息循环,常用来完成需要与用户交互的操作

    3.2 使用    

      CWinThread* AfxBeginThread( CRuntimeClass*                 pThreadClass,

                                                              int                                    nPriority = THREAD_PRIORITY_NORMAL,

                                                              UINT                                 nStackSize = 0,

                                                              DWORD                            dwCreateFlags = 0,

                                                              LPSECURITY_ATTRIBUTES  lpSecurityAttrs = NULL);

     (1)添加CWinThread类的派生类

     (2)在该类的InitInstance( )函数中创建子线程的界面及对象

     (3)创建和启动线程

        AfxBeginThread( pThreadClass,  pParam, ... );

posted @ 2016-08-04 23:12  甩锅侠  阅读(163)  评论(0编辑  收藏  举报