提问者:小点点

等待WaitForMultipleObjects窗口内的可变事件数


通常,WaitForMultipleObjects接受一个参数,告诉它这个方法需要等待多少事件。

DWORD WaitForMultipleObjects(
              DWORD        Count,
              const HANDLE *lpHandles,
              BOOL         bWaitAll,
              DWORD        dwMilliseconds
             );

我的要求是等待不是固定数量的事件。 所以,有可能在上面的函数中等待可变数量的事件,或者我可以在Windows中实现这一点的另一种方式是什么。


共1个答案

匿名用户

您可以使用容器,如std::vector:

#include <vector>
//...
int numHandles = 10;
std::vector<HANDLE> vHandles(numHandles);
//...
vHandles[0] = CreateThread(arguments);
vHandles[1] = CreateThread(arguments);
//... etc. 
WaitForMultipleObjects(vHandles.size(), vHandles.data(), TRUE, INFINITE);