windows主线程如何等待子线程结束

我在主线程中起了多个子线程,想等所有子线程结束主线程再继续做后面的事情。
但是我自起子线程的函数下面用WaitForMultipleObjects等待所有子线程结束,会阻塞主线程导致程序无反应死掉。
请各位大侠帮忙看下应该如何处理?

WaitForMultipleObjects 确实会阻塞主线程的,不想阻塞主线程就只能自己实现,使用事件或者其它类似的机制。
系统没有现成的,只能自己使用线程间通讯的机制来实现。

MsgWaitforMultiObjects
等待事件同时,有消息循环避免阻塞。