我想知道如果任何人知道,可以在窗口C中使用的更好的睡眠功能,比的Sleep()其他,这需要一毫秒的输入和只保证输入是经过的时间的最小量的。我传递在1毫秒,但实际上得到一个15-16毫秒的延迟。是否有任何的方式来精确地设置一个指定的睡眠时间?

有帮助吗?

解决方案

没有,真的没有。当你告诉你的程序睡觉,你放弃处理器,让操作系统决定下一步做什么。一旦操作系统是在控制,它决定什么时候给你的程序的处理时间的另一个切片。这就是为什么你可以指定一个最小的,但不能保证操作系统会回到你的过程在任何特定时间。

其他提示

看到多媒体计时器的。

睡眠只能保证你的程序将不会被执行为的至少名词毫秒,而不是它会睡的究竟名词毫秒。也许你想设置一个计时器?或忙等待(即在一个循环中轮询QueryPerformanceCounter的)。

我会尽量避免使用此方法(忙等待),除非你必须虽然,你燃烧周期,你从被投入较低的时钟速度停止CPU(即燃烧电池寿命)

没有,没有在Windows上一个更好的睡眠功能,因为毫秒可用粒度级别。如果你想睡觉的时间更短,你需要实现某种形式的自旋锁。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top