WaitForMultipleObjects和WaitForMultipleObjectsEx之间有什么区别

时间:2012-07-05 08:48:02

标签: c++ windows multithreading winapi

我正在处理一些遗留代码,其中包括对WaitForMultipleObjects()的调用。从学校我记得函数WaitForMultipleObjectsEx()(我们只是模糊地提到)。我想知道什么,如果有的话,是差异,是否有一个一般规则何时使用哪个。谷歌搜索问题的标题并没有得出任何结论。

1 个答案:

答案 0 :(得分:4)

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