用c#编写一个定时精度为1ms的20ms定时器
时间: 2024-02-13 18:03:59 浏览: 153
c# 编写的一款定时器!
以下是一个使用C#语言实现的定时精度为1ms的20ms定时器:
```csharp
using System;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Timer timer = new Timer(new TimerCallback(TimerCallback), null, 0, 1); // 创建1ms的定时器
Console.ReadLine(); // 等待用户输入,防止程序退出
}
static void TimerCallback(object state)
{
static DateTime startTime = DateTime.Now;
DateTime currentTime = DateTime.Now;
TimeSpan elapsedTime = currentTime - startTime;
if (elapsedTime.TotalMilliseconds >= 20) // 20ms
{
startTime = currentTime;
Console.WriteLine("Timer triggered!");
}
}
}
```
这个定时器的原理和之前的Python实现类似,使用了.NET Framework中的`System.Threading.Timer`类,每隔1ms检查一次当前时间和上次触发时间的时间差是否达到了20ms,如果达到了就触发定时器。注意这个实现方式可能会受到系统负载等因素的影响,精度可能会有一定误差。
阅读全文