C#中如何稳定精确地每隔5ms执行某个函数?

2023-12-22 15:49:23

C#中如何稳定精确地每隔5ms执行某个函数?


在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C#的资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

在评论区回复“888”之后私信回复“888”,即可拿走。

没学过控制理论的人有-个误区。认为5ms内可以完成一件事情等价于每5ms做-次事情。

每5ms执行一段函数的意思是这样的。假设函数名是foo), 运行这个程序的CPU频率是1GHz,每5

百万个时钟周期,CPU就要进入foo)的执行。根据精度的要求,可能有几百个周期的误差阈值。而

且该误差不能随时间累积。就是说哪怕foo0已经执行了上千万次,任意两次相邻的foo0函数的执行

周期和5百万个时钟周期的差值必须小于误差阈值。同时相对于绝对时间的误差也必须小于阈值。

但是普通的windows或者linux.上想做到这一点非常困难。 根据系统时钟的API,每个5ms的间隔中

执行foo()是比较容易保证的。但是很难保证这段程序执行在5ms间隔的具体位置。有的时候可能是

5.001ms,有时可能5.002ms,有时可能是4.998ms。而且误差很容易跟着时间累积。8e3b3f842074f5f29d8eb5934dd195af.jpeg

文章来源:https://blog.csdn.net/lz19zlun/article/details/135152812
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。