BackgroundWorker

在 UI 執行緒中執行長時間執行的操作可能會導致應用程式無響應,向使用者顯示它已停止工作。這些任務最好在後臺執行緒上執行。完成後,可以更新 UI。

在 BackgroundWorker 的操作期間更改 UI 需要呼叫 UI 執行緒的更改,通常是通過在要更新的控制元件上使用 Control.Invoke 方法。忽略這樣做會導致程式丟擲異常。

BackgroundWorker 通常僅用於 Windows 窗體應用程式。在 WPF 應用程式中,任務用於將工作解除安裝到後臺執行緒(可能與 async / await結合使用 )。當正在更新的屬性實現 INotifyPropertyChanged 時 ,或者通過使用 UI 執行緒的 Dispatcher手動完成對 UI 執行緒的編組更新通常是自動完成的。