gpt4 book ai didi

c++ - 我能保证 Sleep() 不会休眠超过 10 毫秒吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:38:04 25 4
gpt4 key购买 nike

我知道 Sleep() 不准确,但是有没有办法让它休眠不超过 10 毫秒(即只在 1 毫秒到 10 毫秒之间休眠)?还是 Sleep(1) 已经保证了这一点?

最佳答案

如果你真的想要保证时间,你根本不会使用 Windows。

要回答您的问题,Sleep() 不提供任何保证 sleep 时间上限的方法。

在windows中,这是因为Sleep()放弃了线程的时间片,不保证系统调度器会调度休眠线程(即分配另一个时间片)后立即执行 sleep 时间到了。这取决于竞争线程的优先级、调度策略等。

实际上,实际的休眠间隔在很大程度上取决于系统上正在运行的其他程序、系统的配置、其他程序是否正在访问慢速驱动器等。

对于负载较轻的系统,Sleep(1) 可以在任何现代(GHz 频率 CPU 或更高)上休眠 1 到 2 毫秒。但是,您的程序并非不可能遇到更大的延迟。

对于负载很重的系统(许多其他程序正在执行,使用 CPU 和计时器资源),可以肯定您的程序将经历比 1 毫秒甚至超过 10 毫秒大得多的延迟。

简而言之:没有保证。

关于c++ - 我能保证 Sleep() 不会休眠超过 10 毫秒吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com