使用C#实现一个延时任务,每3-5分钟执行一次
时间: 2024-05-05 19:22:04 浏览: 17
可以使用C#中的Timer类实现延时任务,代码如下:
```csharp
using System;
using System.Timers;
class Program
{
static void Main()
{
// 创建一个 Timer 实例,每3-5分钟执行一次
var timer = new Timer(new Random().Next(3, 6) * 60 * 1000);
// 设置 Timer 的 AutoReset 属性为 true,表示可以多次触发
timer.AutoReset = true;
// 绑定 Elapsed 事件,即 Timer 到达设定时间时触发的事件
timer.Elapsed += OnTimedEvent;
// 启动 Timer
timer.Start();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
private static void OnTimedEvent(Object source, ElapsedEventArgs e)
{
Console.WriteLine("Timer elapsed at {0}", e.SignalTime);
}
}
```
这段代码会创建一个 Timer 实例,每次执行的间隔时间在3-5分钟之间随机生成,然后绑定一个 Elapsed 事件,在 Timer 到达设定时间时触发该事件。在事件处理函数中,可以编写需要执行的任务代码。注意,Timer 的 AutoReset 属性需要设置为 true,表示可以多次触发。如果需要停止 Timer,可以调用其 Stop() 方法。