int index;
while(1)
{
index = WaitForMultipleObjects(10, phNormal, false, INFINITE);
nIndex = nIndex - WAIT_OBJECT_0;
CloseHandle(phNormal[nIndex]);
}
如参数设置,假设我等待10个进程结束,这10个进程已经创建好了,分别是进程phNormal[0]~phNormal[9]。
情况这样:
第一次循环,如果同时有3个进程结束了,分别是1、2和3。那么WaitForMultipleObjects()的返回值,指的是phNormal[1]退出了,即等待的对象集中最小的那个对象,这个我明白。
接下来进入第二次循环,假设没有其它进程退出,那么上次循环就已经退出的2和3号进程还能被WaitForMultipleObjects()等待吗?此时phNormal[2]已经退出的信息,还能被WaitForMultipleObjects()捕捉到吗??
(如有什么没有表述清楚的,还望指正。)