|
每隔一定的时间,触发去做指定的事情,可以用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;
}
}
}
}
|