话不多说先来看一段代码:
//实例化Timer类,设置间隔时间为10000毫秒;
System.Timers.Timer t = new System.Timers.Timer(10000);
t.Elapsed += new System.Timers.ElapsedEventHandler(timeout); //到达时间的时候执行倒计时事件timeout;
t.AutoReset = true; //设置是执行一次(false)还是一直执行(true);
//需要调用 timer.Start()或者timer.Enabled = true来启动它, timer.Start()的内部原理还是设置timer.Enabled = true;
//调用 timer.Stop()或者timer.Enabled = false来停止引发Elapsed事件, timer.Stop()的内部原理还是设置timer.Enabled = false,
//最重要的是timer.Enabled = false后会取消线程池中当前等待队列中剩余任务的执行。
t.Enabled = true;
//倒计时事件
public void timeout(object source, System.Timers.ElapsedEventArgs e)
{
if (disConnectCount >= 3)//到时间判断条件,执行响应的事件停止计时
{
t.Stop();
return;
}
}
可以看到定时器的作用,其实就是延时,比如说我指定在10s以后再执行吃饭的函数,并且该延时只执行1次就停止。
参考博客:https://blog.csdn.net/baidu_39447417/article/details/78284122