l Image downloads
l Web service invocations
l File downloads and uploads (including for peer-to-peer applications)
l Complex local computations
l Database transactions
l Local disk access, given its slow speed relative to memory access
這個時候UI就會陷入一種假死的狀態,會給使用者帶來一種很不好的體驗. 如何在這裡發揮多執行緒的優勢以改善使用者體驗? .Net2.0的System.ComponentModel.BackgroundWorker為我們提供了一個很方便的解決方法.
BackgroundWorker內部實現是基於delegate的非同步呼叫.