mfc线程

Posted 朱小勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc线程相关的知识,希望对你有一定的参考价值。

1、生成线程

HANDLE hthread; //线程句柄
hthread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)threadFunc,NULL,0,NULL);//获得句柄
CloseHandle(hthread);

2、线程函数

threadFunc()//必须是静态的

{

  while(1)
    {
    Sleep(2000);
    AfxMessageBox(_T("OK!"));

    }

}

注意:

线程与函数

线程函数必须是全局函数,或者是类的静态成员函数,因为非静态成员函数有this指针,而在进程中无法访问此指针。

但是静态成员函数只能访问静态成员,解决此问题途径:

1. 就是在调用静态成员函数时将this指针作为参数传入,通过该指针访问非静态成员。

2. 不将线程函数定义为类的静态成员函数,而是定义为类的友元函数,这样函数线程也可以有类成员函数相同的权限。

以上是关于mfc线程的主要内容,如果未能解决你的问题,请参考以下文章

MFC 线程创建方式

MFC 线程创建方式

MFC多线程安全问题。

MFC主线程等待另一个线程结束

MFC——9.多线程与线程同步

停止 MFC 线程