C++涉及到多线程时 会经常用到WINAPI WaitForSingleObject函数
但是因为很多网上资料 直接参考官网的英文翻译 很多地方比较晦涩难理解
个人也做了一些测试 才弄清楚了这个函数的一些使用
首先看百度上的说明
WaitForSingleObject函数用来检测hHandle事件的信号状态,在某一线程中调用该函数时,线程暂时挂起,如果在挂起的dwMilliseconds毫秒内,线程所等待的对象变为有信号状态,则该函数立即返回;如果超时时间已经到达dwMilliseconds毫秒,但hHandle所指向的对象还没有变成有信号状态,函数照样返回。参数dwMilliseconds有两个具有特殊意义的值:0和INFINITE。若为0,则该函数立即返回;若为INFINITE,则线程一直被挂起,直到hHandle所指向的对象变为有信号状态时为止
我个人的理解为 WaitForSingleObject函数传入的hHandle对象 如果处于有信号的状态 就会返回
如果没有信号 则会挂起 时间由dwMillisecon