在 MFC 中,CWinThread::CreateThread 是一个公共方法,用于创建并启动一个新的线程。这个方法通常在派生类的 InitInstance 方法中被调用,以便执行线程的初始化工作。

以下是 CWinThread::CreateThread 方法的原型:
BOOL CreateThread(
   DWORD dwCreateFlags = 0,
   UINT nStackSize = 0,
   LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
);

其中,参数的含义如下:
  •  dwCreateFlags:创建标志,可以用来设置线程的创建属性。

  •  nStackSize:线程堆栈大小。如果为 0,则使用系统默认的堆栈大小。

  •  lpSecurityAttrs:安全属性,指定线程的安全性。


以下是一个简单的示例:
CMyThread myThread;
myThread.CreateThread();

这个方法在执行后会调用派生类的 InitInstance 方法,因此需要确保在 InitInstance 中完成线程的初始化工作。

需要注意的是,CreateThread 方法并不是直接调用 Windows API 的 CreateThread 函数,而是 MFC 对线程创建的封装。因此,在 MFC 中,通常使用 CreateThread 方法而不是直接调用底层的 Windows API 函数。

另外,MFC 中的线程通常通过消息循环(message loop)来处理消息和事件,因此在线程的主体逻辑中可能需要调用 PumpMessage 方法来处理消息。


转载请注明出处:http://www.zyzy.cn/article/detail/23236/MFC/CWinThread