C#如何做一个定时器实现一毫秒定时
时间: 2024-09-26 21:16:31 浏览: 87
c#高精度毫秒定时器,实现windows高精度定时器功能
在 C# 中,你可以使用 `System.Timers.Timer` 类或者 `System.Threading.Tasks.Task.Delay` 来实现一毫秒级别的精确定时。这里我们介绍两种方法:
**使用 System.Timers.Timer:**
```csharp
using System.Timers;
Timer timer = new Timer();
timer.Interval = 1; // 设置间隔为1毫秒
timer.Elapsed += (sender, e) => {
Console.WriteLine("Tick occurred");
// 在这里编写你的业务逻辑
};
timer.Start(); // 开始计时
```
这个方法适合需要在单独线程上执行任务的情况。
**使用 Task.Delay:**
如果你在控制台应用程序或者想要在UI线程上执行任务,可以使用 `Task.Delay` 和 `await` 关键字:
```csharp
using System.Threading.Tasks;
private async void Tick()
{
await Task.Delay(1);
Console.WriteLine("Tick occurred after 1 millisecond delay");
}
```
注意,在UI上下文中,你需要确保在某个异步操作中调用 `Tick` 函数,以便不会阻塞UI线程。
阅读全文