用線程函數來訪問一個類(即將線程函數做成成員函數的方法)
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;
}
這樣就可以實現線程函數對類的訪問了.