1. 程式人生 > >winform timer時間間隔小於執行時間

winform timer時間間隔小於執行時間

timer 消息隊列 響應 執行 二次 settime 隊列 重入 第一個

如果SetTimer的時間間隔為t,其響應事件OnTimer代碼執行一遍的時間為T,且T>t。
這樣,一次未執行完畢,下一次定時到,這時候程序會如何執行?

可能的情況:
1、丟棄還未執行的代碼,開始新的執行;
2、不丟棄,Timer消息進入消息隊列排隊,等到原來的代碼執行完畢後,馬上開始新的執行;
3、重入,就是原來的還繼續執行,同時又開始一個新的執行;

答案:第二個,或者,第一個丟棄。不過丟棄的情況是, 消息隊列滿了, 第二次的消息沒進去。

一般都是第二種情況。

winform timer時間間隔小於執行時間