您的位置:首页 > 编程语言 > C#

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

2017-09-08 17:53 561 查看
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之后事件执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐