0

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

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

我的要求是等待不固定数量的事件。因此,可以在上述函数中等待可变数量的事件,或者我可以在 Windows 中实现这一点的另一种方式。

4

1 回答 1

2

您可以使用诸如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); 
于 2020-06-17T13:39:35.273 回答