Dot-Net
Threading.Timer 與 Forms.Timer
這個問題的簡短形式:什麼時候,如果有的話,在多執行緒 WinForms 應用程序中使用 Forms.Timer 是否合適?
更具體地說,我正在建構一個應用程序,它使用多個 System.Threading.Timers 來非同步啟動程序,檢查包含這些非同步程序結果的隊列,並更新應用程序主窗體顯示的統計資訊。
在這樣的應用程序中,使用 Forms.Timer 來實際檢查應用程序統計資訊並將它們繪製到主窗體是否合適,或者這只會影響應用程序的平穩執行?
Forms.Timer註冊定時器以在定時器關閉時發送消息。引發的事件被視為 GUI 事件。System.Threading.Timer使用執行緒阻塞方法。基本上,您應該使用Forms.Timer面向 GUI 的計時器(為使用者界面添加一些效果)以及Threading.Timer安排任務和其他事情。