.net core 添加定时器
时间: 2023-08-02 08:05:22 浏览: 53
在 .NET Core 中,可以使用 System.Timers.Timer 或 System.Threading.Timer 类来添加定时器。以下是两个类的使用示例:
1. System.Timers.Timer 类
```csharp
using System;
using System.Timers;
namespace TimerExample
{
class Program
{
static void Main(string[] args)
{
// 创建定时器
Timer timer = new Timer(1000); // 1 秒钟执行一次
// 设置定时器回调函数
timer.Elapsed += OnTimerElapsed;
// 启动定时器
timer.Start();
// 等待用户输入
Console.ReadLine();
// 停止定时器
timer.Stop();
}
static void OnTimerElapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Timer elapsed at {0:HH:mm:ss.fff}", e.SignalTime);
}
}
}
```
在上面的示例中,首先创建了一个 Timer 对象,并指定了定时器的时间间隔为 1 秒钟。然后设置了定时器的回调函数 OnTimerElapsed,该函数会在定时器时间间隔到达时被调用,输出当前时间。最后启动定时器并等待用户输入,当用户输入后停止定时器。
2. System.Threading.Timer 类
```csharp
using System;
using System.Threading;
namespace TimerExample
{
class Program
{
static Timer timer;
static void Main(string[] args)
{
// 创建定时器
timer = new Timer(OnTimerElapsed, null, 0, 1000); // 1 秒钟执行一次
// 等待用户输入
Console.ReadLine();
// 停止定时器
timer.Dispose();
}
static void OnTimerElapsed(object state)
{
Console.WriteLine("Timer elapsed at {0:HH:mm:ss.fff}", DateTime.Now);
}
}
}
```
在上面的示例中,首先创建了一个 Timer 对象,并指定了定时器的时间间隔为 1 秒钟。然后设置了定时器的回调函数 OnTimerElapsed,该函数会在定时器时间间隔到达时被调用,输出当前时间。最后启动定时器并等待用户输入,当用户输入后停止定时器。需要注意的是,System.Threading.Timer 的回调函数需要使用静态方法。