CEvent 사용하기 Posted by 빵빵빵 2009/03/31 21:14 전산(컴퓨터) 전산(컴퓨터) CEvent 원하는 때에 이벤트가 발생한 것처럼 신호를 보내준다 CEvent g_Event(FALSE, FALSE); class CTest { public: int StartTest( ); }; // 스레드를 만드는 함수 int CTest:: StartTest( ) { m_thParam.pCaller = this; m_pthCommStatus = ::AfxBeginThread( ReceiveStatusThreadFunc, &m_thParam, THREAD_PRIORITY_NORMAL ); if ( m_pthCommStatus != NULL ) { return TRUE; } else { return FALSE; } } // 스레드로 돌아가는 함수 UINT ThreadFunc( LPVOID lParam ) { RECEIVETHREADPARAM *pParam = ( RECEIVETHREADPARAM * )lParam; while(true) { // 스레드 종료 이벤트 검사 if( ::WaitForSingleObject( g_Event->m_hObject, 0 ) == WAIT_OBJECT_0 ) { break; } // 스레드로 뭔가 열심히 해야 하는 코드가 있어야 할 부분 } AfxEndThread(0); return TRUE; } 이런 코드가 있다 칠때... 어디선가... g_Event.SetEvent(); 라고 호출을 하면 저 ThreadFunc 스레드는 종료되게 된다. 위치는 요기이다. // 스레드 종료 이벤트 검사 if( ::WaitForSingleObject( g_Event->m_hObject, 0 ) == WAIT_OBJECT_0 ) { break; } 2009/03/31 21:14 2009/03/31 21:14 Tags CEvent, Thread, 스레드, 쓰레드 Trackback: 0 Comment: 0 이 글에는 트랙백을 보낼 수 없습니다