Re: [.NET] 關於Timer

看板Visual_Basic作者 (路邊小草)時間20年前 (2005/11/09 23:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《UBC (UBC)》之銘言: : 我現在有程式八小時要起來工作運算 : 但是參閱了msdn後 但是黃字部份 interval似乎不可以那麼長的時間 : 請問有經驗的前輩會怎麼做呢 : 或者程式寫死 我是每天早上八點 下午四點 晚上十二點要運算結果 : 有比較好的程式寫法嗎 謝謝 : (還是用windows的工作排程 設定每八小時起來跑 但是我基本上希望是寫在程式去控制) : Windows Form Timer 元件具有 Interval 屬性,以指定計時器事件與下一個事件之間經 : 過多少毫秒數。除非元件被停用,否則計時器將持續在大約相等的時間間隔點,收到 : Tick 的事件。 : 這個元件是專為 Windows Form 環境所設計。如果您需要適用於伺服器環境的計時器,請 : 參閱伺服器端計時器簡介。 : 當您在設計有關 Timer 元件的程式時,必須考慮 Interval 屬性的一些限制: : 如果您的應用程式或其他應用程式對系統有大量的需求 (例如長迴圈、密集的計算或磁碟 : 機、網路或連接埠存取),則您的應用程式可能不會依照 Interval 屬性的指定取得計時 : 器事件。 : 間隔可以介於 1 和 64,767 之間 (含),也就是說,即使是最長間隔也不會超過一分鐘 ( : 約 64.8 秒) 太少。 : 間隔不保證經過時間的精確性。若要確保正確性,計時器應該檢查系統時鐘,而不是在內 : 部追蹤累積的時間。 : 系統每秒鐘產生 18 個時鐘刻度,因此即使 Interval 屬性是以毫秒計算,間隔真正的精 : 確性也不會超過十八分之一秒。 有個簡單的變通解,假設 Interval = 60000(60秒) = 1分鐘 若要做到每三小時(180分)執行一次要進行的工作 則首先另外弄一個global變數 Mins 之後每當Timer事件發生時就 1.先把Mins+=1 2.檢查Mins是不是達到180, 如果到達180則 1.把Mins歸零 2.執行要做的工作 參考參考 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.112.253
文章代碼(AID): #13SXJbZ7 (Visual_Basic)
討論串 (同標題文章)
本文引述了以下文章的的內容:
20年前, 11/08
完整討論串 (本文為第 2 之 2 篇):
20年前, 11/08
文章代碼(AID): #13SXJbZ7 (Visual_Basic)