如果Execute()
需要比如说3000ms完成,但由于定时器间隔每1000ms调用一次,下面的代码会发生什么情况?定时器间隔调用长方法
Timer _timer = new Timer();
private void setupTimer()
{
_timer.Tick += new EventHandler(pollingTimeElapsed);
_timer.Interval = 1000;
_timer.Enabled = true;
_timer.Start();
}
private void pollingTimeElapsed(object sender, EventArgs e)
{
Execute();
}
编辑:我使用System.Windows.Forms.Timer,因为System.Timers.Timer没有.Tick
您是否使用System.Timers.Timer或System.Windows.Forms.Timer? – Maarten 2013-04-09 07:19:09
不要怀疑会发生什么!只需停止计时器,执行()并再次启动计时器。 – 2013-04-09 07:20:40
System.Windows.Timer有一个Tick事件,System.Timers.Timer有一个Elapsed事件。 System.Timers.Timer有我的偏好。 – Maarten 2013-04-09 07:23:43