0
点赞
收藏
分享

微信扫一扫

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


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之后事件执行。

举报

相关推荐

Nginx是如何处理一个HTTP请求的

0 条评论