当前位置: 代码迷 >> C# >> ,毫秒级定时器的实现
  详细解决方案

,毫秒级定时器的实现

热度:380   发布时间:2016-04-28 08:43:59.0
求助,毫秒级定时器的实现
需要1毫秒定时发送数据,Timer误差太大,该怎么实现呢?
------解决思路----------------------
高精度定时器的实现可以参考:http://blog.gkarch.com/2015/09/high-resolution-timer.html
可以使用现成的工具:http://www.gkarch.com/docs/tundra-timer/

------解决思路----------------------
windows上用户态想实现1ms定时只可能用多媒体定时器或者自旋,多媒体定时器你可以参考 http://pinvoke.net/default.aspx/winmm/timeSetEvent.html 里面的例子,我原来试验过这个误差一般在 20 微秒内,最大见过 100 微秒。自旋的话那就是用高精度计时工具 Stopwatch 循环判断,会完全占用 CPU 的一个核心。

不过主要问题是你的任务是否能1ms内执行完,如果执行不完怎么处理。
  相关解决方案