Hello, again fellow coders.
I've written a test app that has 3 buttons, each one creating and executing a separate thread. Each thread has its own STATIC control where it counts to 10.

My question is, as I want the 3 threads to run at the same time with 1 sec between each run, I cannot use the WaitForSingleObject or other functions which waits for one thread to finish before the next one starts, because then they wouldn't execute simultaneously!
This brings me another problem, as I do not know when the thread finishes. So I cannot call CloseHandle on them which in the end leaks memory right?

How do I ensure that I close and clear the thread (ExitThread does this when the thread returns right?) properly while maintaining the ability to not wait on any thread to finish so my program GUI won't block. I want to close the thread when it's finished (how do I know when it is?).
I came up with a somewhat dull approach; I send a postmessage just before the thread returns with a message defined by me, and then I catch the message in my WndProc and call CloseHandle there. But this doesn't work does it, since the thread never reaches the return statement before I close the handle?