【发布时间】:2018-11-03 20:51:20
【问题描述】:
我正在做一个项目,准确的计时器非常重要。我正在研究python 并正在使用timer.sleep() 函数。
我注意到timer.sleep()函数会因为调度问题增加额外的延迟(参考timer.sleep docs)。由于这个问题,我的程序运行时间越长,计时器就越不准确。
有没有更准确的计时器/计时器让程序休眠或解决这个问题?
任何帮助将不胜感激。干杯。
【问题讨论】:
-
我认为没有,因为操作系统调度程序正在做自己的事情。不过,我正在饶有兴趣地关注这个问题。
-
在 linux 上是 0.001 毫秒不准确。在 Windows 上,大约 16 毫秒是不准确的。这是因为操作系统,我不知道有什么更好的解决方案。我想会关注这个问题。
-
您是否尝试为您的进程提供实时优先级?准确性是非确定性系统的问题,但 linux 可以真正接近大多数需求。你愿意容忍多少延迟?女士,我们,ns?时间受限的解决方案总是难以交付且非常脆弱,对代码、内核或运行时的任何更改通常都会影响此类解决方案。
-
您使用的是什么操作系统?看到这个c++ 问题:Precise thread sleep needed. Max 1ms error
-
您是否多次调用
timer.sleep(“我的程序运行时间越长,计时器越不准确”)?如果是这样,您能否通过使用time.clock_gettime之类的方式跟踪实际时间来纠正睡眠时间?