WaitForMultipleObjects 和 WaitForMultipleObjectsEx 有什么区别

Dig*_* Da -4 c++ windows winapi multithreading

我正在处理一些遗留代码,其中包括对WaitForMultipleObjects(). 从学校起我就记得这个功能WaitForMultipleObjectsEx()(我们只是含糊地提到过)。我想知道有什么区别(如果有的话),以及是否有关于何时使用哪个的一般规则。谷歌搜索问题的标题没有得出任何结论。

aka*_*xer 5

如前所述,添加“Ex”的例程通常具有原始函数的一些扩展功能。在这种情况下,有一个额外的布尔参数“bAlertable”。此处的区别在于,如果将此额外参数设置为 true,则不仅可以等待处于有信号状态和超时的对象,还可以等待 I/O 完成和用户模式异步过程调用。通过此附加功能,您可以创建自己的读取和写入完成例程。如果您不需要额外的功能,只需调用此函数并将 bAlertable 参数设置为 FALSE,或者您可以只使用不带该参数的旧版本。