多线程执行函数的小问题
自己定义一个类 类中的某个函数A中有这么一句代码:
HANDLE hMainThread = CreateThread(NULL, 0, MainThreadProc, (LPVOID)this, CREATE_SUSPENDED, &dwThreadID);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
第二个参数msdn这么解释的:Pointer to a variable to be passed to the thread
这是什么意思呢?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
第三个参数为线程执行函数B(也是定义在该类中)
然后 B的定义如下:
DWORD WINAPI CRapidFinder::MainThreadProc(LPVOID lpParam)//主线程执行函数
{
CRapidFinder* pThis = (CRapidFinder*)lpParam;
............
}
请问B为什么这么定义呢?前面的WINAPI什么意思呢?还有B中的第一行代码什么意思呢?lpParam传递的是类的指针?
求指教!
[解决办法]
CRapidFinder* pThis = (CRapidFinder*)lpParam;
//传过来地址,然后强转成类指针,方便后面对于CRapidFinder类的一些成员调用!