본문 바로가기

c++/MFC

[MFC] static Thread 생성, 사용 CreateThread, SetEvent, WaitForSingleObject

반응형
Thread 선언, 생성
static	DWORD WINAPI MyThread(LPVOID pArg);	//선언
HANDLE	hMyEvent;

hMyEvent = CreateEvent( NULL, FALSE, FALSE, "MY_EVENT_NAME" );

DWORD WINAPI MyThread(LPVOID pArg)
{
	while( TRUE )
	{
		DWORD dwWaitObject = WaitForSingleObject(hMyEvent, 1000);	// 1000 : 1초 대기 WAIT_TIMEOUT.
		if( dwWaitObject == WAIT_TIMEOUT )
		{
			// TODO:
		}
		else if( dwWaitObject == WAIT_OBJECT_0 )
		{
			// TODO:
		}
		else
		{
			// TODO:
		}
	}
}

DWORD dwThreadId = 0;
HANDLE	hThread = ::CreateThread(NULL, 0, MyThread, (LPVOID)this, 0, &dwThreadId);	//실행

SetEvent(hMyEvent);	//Signal

CloseHandel(hMyEvent);


반응형