1、给类增加一个成员:
CWinThread *m_pThread;
2、在构造函数中:
m_pThread = NULL;
3、在析构函数中及需要中止线程的地方:
//结束后台线程
if (m_pThread != NULL)
{
TerminateThread(m_pThread->m_hThread, 0);
m_pThread = NULL;
}
备注:一般不建议TerminateThread,如果要中止线程比较安全的做法是通过循环变量进行判断,让线程自行退出。
4、需要启动新线程时:
m_pThread = AfxBeginThread(fetchHouse, pPara);
其中
fetchHouse是新线程的入口函数,pPara是传给带入口函数的参数。
入口函数的原型如下:
UINT fetchHouse(LPVOID p)
注意:
(1)入口函数只支持一个入参,如果需要传递多个参数,则通过自行定义结构体实现。
(2)入口函数的参数只能是指针。