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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
559 | Fedora 6로 업그레이드 | WHRIA | 2007.09.25 | 7955 |
558 | 피델리티 차이나 | WHRIA | 2007.09.26 | 6920 |
557 | Fedora 7 (Reach Higher) 으로 update 중 [1] | WHRIA | 2007.09.28 | 7934 |
556 | 버릴 것은 쓰레기통에 | WHRIA | 2007.09.30 | 8408 |
555 | SSH tunnel | WHRIA | 2007.10.01 | 15090 |
554 | VirtualBox | WHRIA | 2007.10.07 | 7753 |
553 | OpenVPN 성공 | WHRIA | 2007.10.07 | 8053 |
552 | Medieye Server 이전 | WHRIA | 2007.10.15 | 8484 |
551 | 거미 [3] | WHRIA | 2007.10.19 | 6979 |
550 | 타이 | WHRIA | 2007.11.06 | 8089 |
549 | 비상 [1] | WHRIA | 2007.11.12 | 7751 |
548 | 우분투 7.10 으로 업그레이드 | WHRIA | 2007.12.03 | 7756 |
547 | Valiant | WHRIA | 2008.01.03 | 8067 |
546 | 기로 | WHRIA | 2008.01.24 | 8019 |
545 | vs 2005 | WHRIA | 2008.02.22 | 8901 |