弱鸡3,C# 一个Timer在等待过程中,interval被改变,时间如何处理,

来源:互联网 发布:前端连接数据库 编辑:程序博客网 时间:2024/06/02 02:41
using System;using System.Threading;using System.Timers;using Timer = System.Timers.Timer;namespace ConsoleApplication1{    class Program    {        private static Timer timer = new Timer();        static void Main(string[] args)        {            timer.Interval = 10000;            timer.Elapsed += Print;            timer.Start();            Thread thread = new Thread(NewThread);            thread.Start();            Console.Read();        }        private static void NewThread()        {            Console.WriteLine("进入线程,开始睡15S" + DateTime.Now.ToLocalTime());            Thread.Sleep(15000);            Console.WriteLine("145 之后,将Interval置为13S,注意看下次执行时间" + DateTime.Now.ToLocalTime());            timer.Interval = 13000;        }        private static void Print(object sender, ElapsedEventArgs e)        {            Console.WriteLine(DateTime.Now.ToLocalTime());        }    }}



Timer等待下一次事件执行,比如还有8S执行。

但此时如果将此Timer的interval改变为15S,则从此刻起,15S之后事件执行。

阅读全文
0 0