请教CreateThread使用本类的成员函数问题
发布网友
发布时间:2023-09-18 14:28
我来回答
共2个回答
热心网友
时间:2024-10-30 01:41
一般这样调就可以了:
CreateThread(NULL,0,ThreadProc,NULL,0,NULL)
第三个参数就是新线程的函数名,如果需要给新线程函数传递值的话就在第四个参数传。
新线程回调函数是这样的:
DWORD WINAPI ThreadProc(PVOID pParam)
{
return 0;
}
热心网友
时间:2024-10-30 01:41
#include <iostream>
#include <windows.h>
class A
{
public:
void b(){ std::cout<<"success"<<std::endl; }
};
struct Parameter
{
void (A::*funcaddr)();
A *a;
};
DWORD WINAPI ThreadProc(PVOID pParam)
{
Parameter *p=(Parameter*)pParam;
(p->a->*p->funcaddr)();
return 0;
}
int main()
{
A a;
Parameter p={&A::b,&a};
CreateThread(nullptr,0,ThreadProc,&p,0,nullptr);
return 0;
}