C++ win开发 WaitForSingleObject函数

本文介绍了C++中多线程环境下WaitForSingleObject函数的使用,通过解析百度上的说明及个人实践,阐述了该函数在检测事件信号状态时的作用。重点讨论了复位(reset)概念,包括手动复位和自动复位,并提到了如何通过ResetEvent和SetEvent函数来控制HANDLE对象的信号状态。

C++涉及到多线程时  会经常用到WINAPI WaitForSingleObject函数

但是因为很多网上资料 直接参考官网的英文翻译 很多地方比较晦涩难理解 

个人也做了一些测试 才弄清楚了这个函数的一些使用


首先看百度上的说明

WaitForSingleObject函数用来检测hHandle事件的信号状态,在某一线程中调用该函数时,线程暂时挂起,如果在挂起的dwMilliseconds毫秒内,线程所等待的对象变为有信号状态,则该函数立即返回;如果超时时间已经到达dwMilliseconds毫秒,但hHandle所指向的对象还没有变成有信号状态,函数照样返回。参数dwMilliseconds有两个具有特殊意义的值:0和INFINITE。若为0,则该函数立即返回;若为INFINITE,则线程一直被挂起,直到hHandle所指向的对象变为有信号状态时为止


我个人的理解为 WaitForSingleObject函数传入的hHandle对象 如果处于有信号的状态 就会返回

如果没有信号 则会挂起 时间由dwMillisecon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值