• 产品
  • 下载
  • 文档
  • 新闻
  • 社区

GKarch GKarch Logo

  • 产品
  • 下载
  • 文档
  • 新闻
  • 社区

高精度定时器  2.0.0

提供多种模式的毫秒级高精度定时功能,便于实现高精度定时任务(比如定时向设备发送数据)。

  •  下载
  •  文档
  •  试用
  •  购买 ¥50.00

HybridTimer 与 MmTimer 是高精度定时器的两种实现, 它们都实现了ITimer接口,可以定义触发间隔与触发时的事件。此外,HybridTimer还实现了IHybridTimer接口,可以进行更多的控制,例如定义触发模式、阻塞模式以及线程优先级。

更详细的使用说明见文档,实现原理见博客。

下边通过一段代码来简单测试一下高精度定时器:

首先使用 NuGet 方式通过包管理器 UI 或者命令行安装:

PM> Install-Package GKarch.Tundra.Misc

然后可以在 console 工程中使用下面代码试验(需要using GKarch.Tundra.Timers):

var last = 0d;
var watch = new System.Diagnostics.Stopwatch();    // 用来计时
var timer = new HybridTimer();  // 混合定时器
timer.Tick = t => {             // 每次触发执行的委托
    var current = watch.Elapsed.TotalMilliseconds;
    var delta = current - last;
    last = current;
    Console.Write("{0:#.00}\t", delta);  // 输出本次执行与上一次执行的时间间隔
};
timer.Start();
watch.Start();
Console.ReadLine(); // 回车结束

输出结果:

10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00
10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00
10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00
10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00
10.00   10.00   10.00   10.00   10.00   10.00   10.01   9.99    10.00   10.00
10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00
10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00
10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00   10.00

这就是HybridTimer默认的设置,使用固定时间框架模式、10ms 间隔、自旋等待。

Core

  • Glacier

Tundra

  • 程序单一实例工具
  • 高精度定时器

BaoBros

FAQ | 使用条款 | 博客 | 联系我们 | 粤ICP备15049704号
深圳包子兄弟科技有限公司 版权所有