pthread_detach와 Windows Thread

purewell의 이미지

POSIX Thread는 detach를 해서
스레드가 종료되면 자동으로 Thread에 할당된
자원을 반환하게 하잖아요.

ㅡ_-) 그렇다면, Windows의 Thread 역시
detach 비스무레한 것을 해줘야하나요?
(물론 결과값에 대해 신경 쓸 필요 없는
쓰레드입니다...)

dingdong77의 이미지

예전에 포팅때문에 조사해본적이 있는 문제네요.

윈도우에서는 스레드를 생성하면 스레드 핸들을 가지게됩니다.

실행이 끝난 스레드의 자원이 커널내에서 완전히 해제되는 조건은
스레드 핸들의 reference count가 0이 될 것입니다.

즉 해당 스레드의 핸들들만 확실히 close 해주면(여기서 CloseHandle 관련 API를 필히 이용) 커널이 자원해제를 알아서 해줍니다.