每隔一定的时间,触发去做指定的事情,可以用timer类。
Timer timer = new Timer(timerDelegate, ParamObject, 1000, 1000) 其中,
1、第一个参数是要执行的方法
2、第二个参数是回调方法要使用的对象信息;
3、第三个参数是延时启动的时间间隔,“0”表示立即启动;
4、第四个参数是Timer的Interval。
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- using System.Collections;
- namespace Demo
- {
- class ParamObject
- {
- public int iCounter = 0;
- public Timer aTimer;
- }
- class Program
- {
- public static void Main(string[] args)
- {
- ParamObject aParamObject = new ParamObject();
- Timer aTimer = new Timer(new TimerCallback(CheckStatus), aParamObject, 1000, 1000);
- aParamObject.aTimer = aTimer;
- while (aParamObject.aTimer != null)
- {
- Thread.Sleep(0);
- }
- Console.ReadLine();
- }
- static void CheckStatus(object paramObject)
- {
- ParamObject aParamObject = (ParamObject)paramObject;
- aParamObject.iCounter++;
- Console.WriteLine("{0} status: {1}", DateTime.Now.TimeOfDay, aParamObject.iCounter);
- if (aParamObject.iCounter == 5)
- {
- // Wait 1000 ms and go on to do the timer event
- aParamObject.aTimer.Change(1000, 2000);
- Console.WriteLine("Timer interval changed!");
- }
- if (aParamObject.iCounter == 10)
- {
- Console.WriteLine("Dispose timer");
- aParamObject.aTimer.Dispose();
- aParamObject.aTimer = null;
- }
- }
- }
- }