用线程函数来访问一个类(即将线程函数做成成员函数的方法)
1.先定义一个线程函数(在要访问的类的头文件顶部添加)
如:UINT ThreadFun(LPVOID pParam);
2.然后在定义一个线程时将线程函数和一个this绑定,
如:(要创建线程的位置添加)
CWinThread * pThread=AfxBeginThread(
ThreadFun,//线程函数名
this,//类的指针
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENED);
3.最后,在实现函数ThreadFun时,将pParam强制转换成你的类指针就行了.
如:(在访问类的实现文件的外部添加)
UINT ThreadFun(LPVOID pParam)
{
CClassName * pThis=(CClassName *)pParam;
.
.
return 0;
}
这样就可以实现线程函数对类的访问了.