直接使用类成员函数为线程函数

class CT
{
public:
	DWORD WINAPI ThreadProc();
	void Start();
};

typedef DWORD (WINAPI CT::* memfun)();
typedef DWORD (WINAPI *pfunThread)(LPVOID); 

void CT::Start()
{
	memfun ThreadFun = &CT::ThreadProc;
	pfunThread lpThread;
	memcpy(&lpThread, &ThreadFun, sizeof(ThreadFun));
	CreateThread(NULL, 0, lpThread, this, 0, NULL);
}

DWORD CT::ThreadProc()
{
	std::cout<< "threadproc" << std::endl;
	return 0;
}

你可能感兴趣的:(直接使用类成员函数为线程函数)