CLOSE SEARCH

[MFC] Using Workerthread

[sourcecode language=”cpp”]

CWinThread* pThread = ::AfxBeginThread(ThreadFunc, &param);

UINT ThreadFunc(LPVOID pParam)

{

return 0;

}

//스레드 종료 후 특정 작업 처리

if ( ::WaitForSingleObject(pThread->m_hThread, INFINITE))

{

// … 처리해야 할 작업들 …

}

//지정한 시간 후 스레드 처리

DWORD dwCode = ::WaitForSingleObject(pThread->m_hThread, 7000);

if (dwCode == WAIT_OBJECT_0)

{

// … 스레드 종료 후 수행할 작업들…

}

else if (dwCode == WAIT_TIMEOUT

{

// … 7000ms 후 스레드가 종료되지 않을 경우 에러처리 작업 …

}

//스레드 실행 여부 확인

if ( ::WaitForSingleObject(pThread->m_hThread, 0) == WAIT_TIMEOUT )

{

// … 스레드 실행 중 …

}

else

{

/// … 스레드 실행 중이 아님 …

}

[/sourcecode]

Filed under: Windows & Windows Phone