|
안녕하세요.. ^^
쓰레드가 현재 블러킹 상태라면..
당연히 죽으라고 보내는 시그널도 받아볼수 없답니다.
이럴때는 보통 넌블러킹 소켓을 사용하며..
WaitForSingleObject 같은류의 이벤트 관련 함수를 사용해요..
그럼 좋은 하루 되세용.. ^^;..
이학균 님이 쓰신 글 :
: 안녕하세요...
:
: Execute함수 내에.. Recv라는 함수가.. 소켓으로 부터 데이타를 수신 대기 하고 있거든요...
: 그래서 Terminated라는 변수를 사용해서 Thread->Terminate()명령을 쓸 수도 없고요..
:
: 그냥 쓰레드를 delete Thread; 해도 지워 지지 않구요..
:
: 예전에 위험하지만 TerminateThread라는 API를 써서 강제로 종료를 했었는데...
: 아무리 생각해도 잘 되지가 않네요...
:
: 쓰레드 클래스를 TForm에서... new로 생성한 다음에.... TForm에서 지울 떄
:
: TerminateThread((void*)Thread, 0);
: 으로 하면 되는거 아닌가요?
:
: TerminateThread((void*)&Thread, 0);
: 으로 해도 지워지지도 않고....
:
: 고수님들에 답변 기다릴꼐요..
|