如果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