new System.Threading.Timer的使用
时间: 2024-09-20 19:16:54 浏览: 40
C#中三种定时器对象的比较
`System.Threading.Timer`是.NET框架提供的一种异步定时任务处理机制,它允许你在指定的时间间隔后执行回调函数。以下是使用`Timer`的基本步骤:
1. **创建Timer实例**:
```csharp
Timer timer = new Timer.ElapsedEventHandler(OnTimedEvent);
```
这里,`ElapsedEventHandler`是事件处理器委托,`OnTimedEvent`是你自定义的处理定时事件的方法。
2. **设置计时器属性**:
- `DueTime`:表示初始延迟时间,即从开始时多久后触发第一次事件。
- `Period`:指定了定时周期,每次触发事件后,除非被取消,计时器将在指定时间再次触发。
```csharp
DateTime dueTime = DateTime.Now.AddSeconds(5); // 首次触发在5秒后
TimeSpan period = TimeSpan.FromSeconds(2); // 每隔2秒触发一次
timer.Change(dueTime, period);
```
3. **注册和启动事件处理**:
```csharp
timer.Start();
```
调用`Start`方法后,定时器开始执行。
4. **管理定时器生命周期**:
- 当不再需要定时器时,调用`Stop`或`Dispose`方法将其关闭。
```csharp
timer.Stop(); // 停止定时器
timer.Dispose(); // 或者手动释放资源
```
5. **编写事件处理方法**:
```csharp
private void OnTimedEvent(Object source, ElapsedEventArgs e)
{
Console.WriteLine("Timer event occurred at " + DateTime.Now.ToString());
}
```
在这个方法中,你需要实现你要执行的具体操作。
阅读全文