我怎样才能(合理地)每N毫秒精确地执行一次动作?
我有一台机器使用NTP客户端同步到互联网时间,因此它的系统时钟应该相当准确。
我有一个我正在开发的应用程序,它实时记录数据,处理它然后传递它。我现在要做的是输出数据每N毫秒与系统时钟对齐。所以,例如,如果我想做20ms的间隔,我的oututs应该是这样的:
13:15:05:000
13:15:05:020
13:15:05:040
13:15:05:060
我已经看到了使用秒表类的建议,但这只是测量时间跨度而不是寻找特定的时间戳。执行此操作的代码在其自己的线程中运行,因此如果我需要执行一些相对阻塞的调用应该是一个问题。
任何关于如何实现这一目标的建议(接近或优于1ms的精度都会很好)将非常感激地收到。
没有找到相关结果
已邀请:
8 个回复
砷竣阿
筷啸够对铅
再想一想,这只是衡量标准。要定期执行操作,您必须使用timeSetEvent()。只要使用timeBeginPeriod(),就可以使回调周期非常接近1毫秒。一个很好的例子是,当前一次回调因任何原因延迟时,它会自动补偿。
死搭胯
悲帽慑彤电
来改善问题,使你的过程更有可能及时切换到你的过程,并且可能在你如何在迭代之间等待时狡猾 - 例如。大多数但不是所有时间都在睡觉,然后使用忙碌循环来完成其余的工作。
恋卡
剃摧庭峨僳
戊袱
旅牢斯讲