c#使用委托创建多种定时器
时间: 2024-10-20 16:04:38 浏览: 8
在C#中,可以使用委托和Timer类来创建多种类型的定时任务。Timer允许你在特定的时间间隔或特定事件发生时执行回调方法。下面是如何创建一个基本的定时器例子:
```csharp
using System;
using System.Threading;
delegate void MyDelegate();
public class Program
{
private static Timer myTimer; // 定义委托类型实例作为Timer的回调
public static void Main()
{
// 创建一个委托函数,例如每隔5秒打印一条消息
MyDelegate timerAction = PrintMessageEveryFiveSeconds;
// 初始化定时器,每5000毫秒(即5秒)执行一次timerAction委托
myTimer = new Timer(timerAction, null, 5000, Timeout.Infinite); // 第四个参数设置周期,Timeout.Infinite代表无限循环
Console.WriteLine("Timer is running, press any key to exit...");
Console.ReadKey();
// 销毁定时器,停止执行委托
myTimer.Change(Timeout.Infinite, Timeout.Infinite);
}
// 委托方法
static void PrintMessageEveryFiveSeconds()
{
Console.WriteLine("Timer executed after every 5 seconds.");
}
}
```
在这个例子中,`PrintMessageEveryFiveSeconds`方法是一个委托函数,被设置为Timer的回调,会在指定的时间间隔内被触发。
阅读全文