C++ 多线程 WaitForMultipleObejects函数

WaitForMultipleObjects函数的定义如下,摘自微软的文档:

DWORD WINAPI WaitForMultipleObjects(
  _In_       DWORD  nCount,
  _In_ const HANDLE *lpHandles,
  _In_       BOOL   bWaitAll,
  _In_       DWORD  dwMilliseconds
);


第一个参数nCount是第二个参数lpHandles数组传入的句柄数。

第二个参数lpHandles是存放句柄的数组。

第三个参数bWaitAll是bool类型的,如果设置为true,那这个函数会等到所有传入句柄所指的对象都发出信号;如果设置为false,那这个函数会等到所有传入句柄的其中一个发出信号,就往下执行。同时函数的返回值会具体指出是哪一个对象发出的信号,若同时有多个对象发出信号,那返回的是在lpHandles里索引最小的一个。

第四个参数dwMilliseconds设定timeout时间,在设置的时间达到之后,进程就会继续执行。若设置为0,则进程根本不会进入等待,直接后续执行,若设置为INFINITE,则进程会等到相应的句柄所指的对象发出信号之后继续执行。所以一般设置为INFINITE。


关于函数返回值,在这里放一张从文档里截的图,暂时不想搞懂,等以后再看。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值