问题:定时器如何控制它一会可用一会不可用,根据某个业务需求,
比如:一个控制台程序扫描表中某个条件的数据,处理数据,控制台分布式部署,当主机宕机后,从机扫描定时器需要可用,当主机复活后,从机的扫描定时器不可用,主机控制台不小心被关闭是需要调用关闭事件,修改循环条件停止循环处理数据,并等待3秒,处理完当前数据
下面就是用来控制定时器可用不可用的示例:
class Program
{
//实例化Timer类
private static System.Timers.Timer aTimer = new System.Timers.Timer(); static void Main(string[] args)
{
aTimer.Elapsed += new ElapsedEventHandler(TaskBegin);
aTimer.Interval = 1000;
aTimer.AutoReset = true;//执行一次 false,一直执行true
//是否执行System.Timers.Timer.Elapsed事件
aTimer.Enabled = false;
Console.WriteLine("不会开始");
System.Threading.Thread.Sleep(5000);
aTimer.Enabled = true ;
Console.WriteLine("开始");
System.Threading.Thread.Sleep(5000);
aTimer.Enabled = false;
Console.WriteLine("停止");
System.Threading.Thread.Sleep(5000);
aTimer.Enabled = true;
Console.WriteLine("开始");
System.Threading.Thread.Sleep(5000);
aTimer.Enabled = false;
Console.WriteLine("停止");
System.Threading.Thread.Sleep(5000);
aTimer.Enabled = true;
Console.WriteLine("开始"); Console.ReadKey();
} private static void TaskBegin(object source, System.Timers.ElapsedEventArgs e)
{
System.Threading.Thread.Sleep(2000);
Console.WriteLine("任务开始执行");
}
}

  运行结果:

定时器Enable  Disable控制-LMLPHP

05-11 22:21