用线程函数来访问一个类

用线程函数来访问一个类

用线程函数来访问一个类(即将线程函数做成成员函数的方法)
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;
}

这样就可以实现线程函数对类的访问了.

你可能感兴趣的:(thread)