多线程处理:在 MFC 中创建工作线程
创建并开始线程代码示例
//线程控制函数
UINT MyThreadProc( LPVOID pParam )
{
CMyObject* pObject = (CMyObject*)pParam;
if (pObject == NULL ||
!pObject->IsKindOf(RUNTIME_CLASS(CMyObject)))
return 1; // if pObject is not valid
// do something with 'pObject'
return 0; // thread completed successfully
}
// inside a different function in the program
.
.
.
pNewObject = new CMyObject;
AfxBeginThread(MyThreadProc, pNewObject); //开始线程
.
.
.
终止线程
对于工作线程,正常线程终止很简单:退出控制函数并返回一个表示终止原因的值。 可以使用 AfxEndThread 函数或 return 语句。 通常,0表示成功完成,但这由您来完成。