這不是一個迫切而重要的問題,看起來更像運動。在指定的時刻(windows,.net等)運行repeattive方法(如時鐘)
如何在特定時刻運行某個功能?越精確越好。
例如,我有一個說時間的方法。我想在XX時,XX:15:00(最好是000毫秒),XX:30:00.000,XX:45:00.000運行它。
目前我有一個(幾乎無盡的)循環,它檢查DateTime.Now,計算TimeSpan睡覺時間,睡眠時間爲30秒(如果間隔較大),再次以相同方式睡覺,然後調用功能。
這種方法的副作用是待機模式。看起來OS在喚醒後並沒有減少睡眠時間,所以當我的筆記本電腦在XX:01待機時,在XX:13醒來時,線程仍然會睡着,因此錯過了XX:15: 00.000時刻。
也許有一種更簡單的方式來說「精確地在XX:00:00.000處調用此函數」。
我認爲你可以做的最好的事情就是捕捉睡眠事件的醒來並通知錯過的時間,或者追溯執行錯過的活動。或者,我建議您禁用睡眠模式,如果你想運行這樣一個時間關鍵的服務。 – 2009-07-28 20:54:34