안녕하세요. 오랜만에 질문 드립니다.
다름이 아니오라 제목과 같이
Blocking Method를 실행 중인 스레드를
제가 원하는 시점에서 정확히 종료시키고 싶어서 질문 드렸습니다.
NamedPipe를 이용해서 소켓 처럼 사용하려고 하다가
종료가 정확히 원하는 시점에서 되지 않아서 막혀버렸습니다.
여러가지 검색도 해봤는데
Blocking Method에 대한 결과를 찾기가 어렵더군요.
그래서 여러가지 시도를 해봤는데요.
첨부한 예제에서 처럼
스레드가 일단
WaitForConnection이나 Read / Write 메서드와 같은
실제 클라이언트의 반응이 있기 전까지 Block 되어 있는 메서드가 일단 진입하면
딱히 깨워서 죽일만한 방법을 찾지 못했습니다. (Abort / Interrupt 다 소용 없더군요.)
그나마 Abort는 클라이언트가 다음 번에 붙을 때 Exeption을 발생 시켜줘서 죽긴 죽는데
제가 원하는 시점이 아니라 크게 의미가 없었구요... (Interrupt는 죽지 않더군요.)
주제는 Blocking Method에 진입한 스레드를 죽이는 방법이긴한데
NamedPipe를 소켓처럼 이용할 수 있는 우아한(?) 방법이 더 궁금하긴 합니다. (예제 찾기가 어렵더군요.)
도움 부탁드립니다....
[최초 등록일: ]
[최종 수정일: 2/20/2012]