您的位置:首页 > 其它

VC中多线程用法——AfxBeginThread的用法

2011-07-10 00:39 369 查看
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)入口函数的参数只能是指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: