这里有个奇怪的问题--但是:
如果我在超时20分钟的互斥锁上使用WaitForSingleObject。然后,机器在等待期间进入睡眠模式(或休眠)。12小时后唤醒--我对WaitForSingleObject的调用会超时吗?或者计时器会在机器休眠时暂停吗?
发布于 2017-05-12 16:50:09
根据https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx的说法,WaitForSingleObject确实考虑了在低功耗状态下花费的时间,但仅从Windows8开始。因此,在Windows7上,它的行为应该如上所述,但在Windows8和更高版本中,只有当系统活跃地运行了所需的时间时,调用才会超时。
发布于 2012-06-09 07:15:04
刚刚在Windows 7上进行了测试,超时5分钟,睡眠10分钟。我一直在等待无尽的线索。
惊喜-在我的机器唤醒后,WaitForSingleObject超时了。
发布于 2018-04-18 04:21:10
摘自MSDN:
Windows XP、Windows Server2003、Windows Vista、Windows7、Windows Server2008和Windows Server2008 R2: dwMilliseconds值不包括处于低功耗状态的时间。例如,当计算机处于休眠状态时,timeout 保持倒计时。
Windows 8、Windows Server 2012、Windows 8.1、Windows Server 2012 R2、Windows 10和Windows Server 2016: dwMilliseconds value 不包括处于低功耗状态的时间。例如,当计算机处于休眠状态时,超时不会一直倒计时。
https://stackoverflow.com/questions/10510915
复制相似问题