Should be threads closed explicitly (by sending WM_QUIT message and a ExitThread() as a responce to it, for example)? Are not all child threads closed authomatically by ending of the main parent process? What to do in case, when child thread Sleep()'s or accept()'s sockets? How to wake thread up or let him go out from the accept() state?