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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
1279 | 처칠 수상이 대학 강연식 때 남긴말 | han | 2005.09.24 | 2058 |
1278 | 사진 업데이트~ - 말레이시아 + 홍콩 - | han | 2005.10.03 | 2058 |
1277 | 아우디 | han | 2005.11.29 | 2058 |
1276 | 휴식 | han | 2005.12.09 | 2058 |
1275 | 여유 | WHRIA | 2006.03.20 | 2058 |
1274 | 방황 | han | 2006.04.06 | 2058 |
1273 | 회식 또 회식 | han | 2006.06.14 | 2058 |
1272 | Good | han | 2007.01.25 | 2058 |
1271 | 궁금해서요... | 윤지완 | 2000.10.20 | 2059 |
1270 | 아침 일찍 병원에 왔당. | 한승석 | 2003.02.26 | 2059 |
1269 | 우웩~~ 교통사고 나다... | 한승석 | 2003.03.08 | 2059 |
1268 | 후후훗... 간부숙소닷]ㅂ[/ | whria | 2003.07.13 | 2059 |
1267 | 아 졸리다. | 한승석 | 2003.08.23 | 2059 |
1266 | just 10 min | IDEON | 2003.09.19 | 2059 |
1265 | Re: 텔레파시 | 텔레토비 | 2004.01.13 | 2059 |