프로그래밍/C, C++
클래스안에 쓰레드 함수 삽입하기 (CreateThread, _beginthreadex)
Dev-Drake
2019. 6. 18. 16:59
반응형
1. 클래스 헤더안에 static으로 선언
class TestDlg {
public :
static DWORD WINAPI ThreadHandler(LPVOID lpParam); // CreateThread
static unsigned int __stdcall ThreadHandler(void *pParam); // _beginthreadex
}
2. 클래서 내용안에 정의
// CreateThread
DWORD WINAPI TestDlg::ThreadHandler(LPVOID lpParam)
{
TestDlg *Dlg = (TestDlg *)lpParam;
while(TRUE) {
...
}
return 0;
}
// _beginthreadex()
unsigned int __stdcall TestDlg::ThreadHandler(void *pParam)
{
TestDlg *Dlg = (TestDlg *)pParam;
while(TRUE) {
...
}
return 0;
}
3. 프로그램에서 실행
m_hThread = CreateThread(NULL, 0, ThreadHandler, this, 0, NULL);
m_hThread = (HANDLE) _beginthreadex(NULL,0,ThreadHandler,(void*)this , 0, NULL);
반응형