【发布时间】:2013-06-10 19:27:49
【问题描述】:
据我了解,windows 中的Sleep() 函数只能确保您的线程休眠至少指定的时间。虽然Sleep()不能保证线程只休眠超过指定时间,但是是否可以通过SetPriority()提高进程/线程的优先级来提高线程休眠时间的准确性?
【问题讨论】:
-
MSDN 上的
Sleep()文章讨论了这一点。 -
@chris 你是对的,文章确实提到了它,但只是通过“因此,线程可能要等到休眠间隔过去一段时间后才会运行。有关更多信息,请参阅调度优先级。”
-
提高优先级将(大概!)减少因 CPU 争用而导致的任何额外延迟。但是,它不会改变刻度间隔的效果。您研究过多媒体计时器吗?
标签: c++ windows visual-studio scheduling