System.Threading.Timer的用法
时间: 2024-03-05 09:53:17 浏览: 71
System.Threading.Timer 是一个基于线程的计时器,可以在指定的时间间隔内执行某些操作,而不会阻塞主线程。下面是一个简单的示例:
```csharp
using System;
using System.Threading;
class Program
{
static void Main()
{
// 创建一个 Timer 实例,每隔 2 秒钟执行一次 TimerCallback 方法
Timer timer = new Timer(TimerCallback, null, 0, 2000);
// 在控制台上等待用户按下任意键
Console.ReadLine();
// 停止 Timer 实例
timer.Dispose();
}
// Timer 回调方法
private static void TimerCallback(Object o)
{
Console.WriteLine("TimerCallback: " + DateTime.Now);
}
}
```
在上面的示例中,我们首先创建了一个 Timer 实例,并指定了一个回调方法 TimerCallback,然后启动了 Timer。每隔 2 秒钟,TimerCallback 方法就会被调用一次,并输出当前的时间。当用户在控制台上按下任意键时,我们就停止了 Timer 实例。
需要注意的是,Timer 回调方法是在线程池线程上执行的,而不是在主线程上执行的。因此,在 Timer 回调方法中,您需要小心处理线程同步和异常处理。
阅读全文