用線程函數(shù)來訪問一個(gè)類(即將線程函數(shù)做成成員函數(shù)的方法)
1.先定義一個(gè)線程函數(shù)(在要訪問的類的頭文件頂部添加)
如:UINT ThreadFun(LPVOID pParam);
2.然后在定義一個(gè)線程時(shí)將線程函數(shù)和一個(gè)this綁定,
如:(要?jiǎng)?chuàng)建線程的位置添加)
CWinThread * pThread=AfxBeginThread(
ThreadFun,//線程函數(shù)名
this,//類的指針
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENED);
3.最后,在實(shí)現(xiàn)函數(shù)ThreadFun時(shí),將pParam強(qiáng)制轉(zhuǎn)換成你的類指針就行了.
如:(在訪問類的實(shí)現(xiàn)文件的外部添加)
UINT ThreadFun(LPVOID pParam)
{
CClassName * pThis=(CClassName *)pParam;
.
.
return 0;
}
這樣就可以實(shí)現(xiàn)線程函數(shù)對類的訪問了.