c# 1毫秒 高精度定时器
时间: 2023-08-11 22:04:19 浏览: 253
在C#中,精确到毫秒级的定时器有一定的限制,因为系统时钟的精度通常是几毫秒。但是,你可以使用`System.Timers`命名空间中的`Timer`类来实现近似1毫秒的定时器。
以下是一个示例代码,演示如何使用`Timer`类实现近似1毫秒的定时器:
```csharp
using System;
using System.Timers;
class Program
{
static Timer timer;
static void Main()
{
// 创建 Timer 对象
timer = new Timer(1); // 设置定时器间隔为1毫秒
// 设置 Elapsed 事件处理程序
timer.Elapsed += TimerElapsed;
// 启动定时器
timer.Start();
// 按下任意键停止定时器
Console.ReadKey();
// 停止定时器
timer.Stop();
}
static void TimerElapsed(object sender, ElapsedEventArgs e)
{
// 在这里编写你的定时任务逻辑
Console.WriteLine("定时任务执行时间: {0}", e.SignalTime);
}
}
```
在上面的示例中,我们创建了一个`Timer`对象并设置了定时器的间隔为1毫秒。然后,我们通过订阅`Elapsed`事件来指定定时任务的逻辑。在`TimerElapsed`事件处理程序中,你可以编写你想要执行的定时任务逻辑。当按下任意键时,我们停止定时器。
请注意,尽管我们设置了定时器的间隔为1毫秒,但实际的触发时间可能会有一些偏差,这取决于系统时钟的精度和系统负载情况。因此,无法保证完全精确到1毫秒。
阅读全文