当我调用方法 random_Start() 时,它首先起作用:第二次控制台打印出现在合理的时间,但随后控制台打印之间的差距变得越来越小。
在一些打印之后,几乎每次打印都在不到 5 秒的时间内完成,尽管代码应该将 Timer 设置为至少 5 秒,对吧?
static Timer timer;
static Random random = new Random();
public static void random_Start()
{
timer = new Timer(random.NextDouble()*10000+5000);
timer.Elapsed += OnTimedEvent;
timer.Start();
Console.WriteLine("Start");
}
private static void OnTimedEvent(Object source, ElapsedEventArgs e)
{
random_Start();
}