好了,所以我一直對了Thread.Sleep,Task.Delay,的AutoResetEvent讀了...等有道推遲執行代碼在後臺工作
我看到很多的爭論,這因爲它使用取決於正在執行的任務。
我目前使用Thread.Sleep,並認爲我需要開始避免它,並使用更好的做法。
這是一個包含BackgroundWorker的客戶端應用程序。該工作人員每30分鐘運行一次以檢查Web服務的更新數據。
然後它更新位於MainWindow中的3個整型變量。這些對UI沒有任何作用。它們僅用於檢查正在運行的其他工作人員。
是一種比另一種更好的延遲方法嗎?
如果用戶退出應用程序,並且調用Application.Current.Shutdown(),它會繼續運行,直到Thread.Sleep完成,否則即使線程正在休眠,它也會退出嗎?
爲什麼不使用反對睡眠/後臺工作定時器嗎? – Jason
Dispatcher.BeginInvoke(DispatcherPriority.Background,...); –