用WaitForSingleObject不要无限等待,可以放在一个无限循环中,
同时等待另一个结束事件,如果等到结束事件,就退出循环。while(true)
{
WaitForSingleObject([some event], ..);
if(WaitForSingleObject([terminate event], 0) == WAIT_OBJECT_0)
break;
..
}