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。而且误差很容易跟着时间累积。
文章来源:https://blog.csdn.net/lz19zlun/article/details/135152812
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!