CreateThread 함수 static으로 사용하지 않고 작성하기 CreateThread 함수를 사용하다 보면 하기와 같이 구성해야 한다. 1. 클래스내에서 사용시 Static 멤버함수로 작성 2. 클래스 멤버가 아닌 함수로 작성 해야만 한다.
그러나 클래스내 멤버 함수로 정의하여 사용하는 경우, 멤버 변수에 접근이 불가능 하지 않은가..?!!
그렇다고 static으로 선언하게 되면 그안에서 사용되는 함수는 모두 static으로 선언해야만 한다.. 헉~!!
해서, 구글해보니..
요렇게 하면 된다..
static으로 ThreadProc를 선언하고, 이 함수의 인수를 this로 넘겨준다음 ThreadProc에서 인수를 클래스로 캐스팅해서 원하는 함수(static아님)를 호출하면 된다.
//-------------------------------------------------------- 1. Thread 생성한 후 Sample::Init() { 0, &m_dwLAF_Thread); }
//---------------------------------------------------------------------
//--------------------------------------------------------------------- 실제 제어되는 부분 ^^ } |
'운영체제 & 병렬처리 > Multithread' 카테고리의 다른 글
Critical Section [CPU가 여러개일때 동기화] (1) | 2012.11.01 |
---|---|
MFC용 쓰래드 사용법 - MFC MultiThread (Work / UI Thread) (0) | 2012.11.01 |
쓰레드 중지, 다시시작 SuspendThread, ResumeThread (1) | 2012.11.01 |
스레드와 프로세스 그리고 이벤트에대한 정리 (0) | 2012.11.01 |
WaitForSingleObject 함수 (0) | 2012.11.01 |