thread
2007.02.10 03:55
안녕하세요.
저도 이런 문제로 참 많이 고민했었는데요..
다들 안된다구만 하시구... 답변이 있는걸 못봤거든요..
문제는 ..
쓰레드 만들면서 생긴 CWinThread 객체가 소멸되지 않는것인데요.
보통 이런식으로 하죠?
CWinThread *pThread;
pThread = AfxBeginThread(func, ........ );
요래놓구서 외부에서 강제로
TerminateThread(pThread->m_hThread); 요렇게 하고 말면..
처음에 할당되었던 pThread 를 그냥 붕 뜨죠.. ^^;;
저는 이런식으로 해결 했습니다.
처음에 CWinThread *pThread = NULL; 로 선언 하구요
pThread = AfxBeginThread(func, ........ );
그 뒤에 강제로 종료시켜야 할때는..
if(pThread)
{ // Thread 가 한번이라도 실행되었으면 들어옴.
GetExitCodeThread(*pThread->m_hThread, &exitCode);
if(exitCode == STILL_ACTIVE)
{
TerminateThread(*pThread->m_hThread, 0);
}
delete *pThread;
}
요렇게 해주면 Thread 생성시에 만들어졌던 CWinThread 객체가 없어집니다.
이거 알아내느라.. 며칠간 삽질했네요. ^^
그럼 즐프하세용.
저도 이런 문제로 참 많이 고민했었는데요..
다들 안된다구만 하시구... 답변이 있는걸 못봤거든요..
문제는 ..
쓰레드 만들면서 생긴 CWinThread 객체가 소멸되지 않는것인데요.
보통 이런식으로 하죠?
CWinThread *pThread;
pThread = AfxBeginThread(func, ........ );
요래놓구서 외부에서 강제로
TerminateThread(pThread->m_hThread); 요렇게 하고 말면..
처음에 할당되었던 pThread 를 그냥 붕 뜨죠.. ^^;;
저는 이런식으로 해결 했습니다.
처음에 CWinThread *pThread = NULL; 로 선언 하구요
pThread = AfxBeginThread(func, ........ );
그 뒤에 강제로 종료시켜야 할때는..
if(pThread)
{ // Thread 가 한번이라도 실행되었으면 들어옴.
GetExitCodeThread(*pThread->m_hThread, &exitCode);
if(exitCode == STILL_ACTIVE)
{
TerminateThread(*pThread->m_hThread, 0);
}
delete *pThread;
}
요렇게 해주면 Thread 생성시에 만들어졌던 CWinThread 객체가 없어집니다.
이거 알아내느라.. 며칠간 삽질했네요. ^^
그럼 즐프하세용.
댓글 1
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
724 | 레이저 | han | 2005.04.15 | 2071 |
723 | 이별 | 휘야 | 2005.04.15 | 2072 |
722 | 미래 [1] | 휘야 | 2005.04.07 | 2069 |
721 | 실험 , 연구 [1] | han | 2005.04.05 | 2086 |
720 | 영어 공부 좀 해야 겠다. [1] | han | 2005.04.01 | 2401 |
719 | 안녕하세요 오랜만입니다. [2] | 프리로 | 2005.03.12 | 2081 |
718 | 아 휘리아섭 문을 닫은거였군요 -0- | 하양마뇨 | 2005.03.06 | 2160 |
717 | 수고하셨습니다. | 시라노 | 2005.03.05 | 2084 |
716 | 안녕하세요;ㅁ; | 사과같은내얼굴, | 2005.02.25 | 2066 |
715 | SS아 | airboard | 2005.01.18 | 2069 |
714 | 어빠~ | J | 2005.01.06 | 2072 |
713 | 형~ ^^ | 창호 | 2004.12.28 | 2067 |
712 | 오빠~>ㅁ<! | 승욱~ | 2004.12.27 | 2070 |
711 | 서울왔음~ | J | 2004.12.13 | 2128 |
710 | 이상해~ | J | 2004.12.08 | 2061 |