کلاس BackgroundWorker یک پیاده سازی از الگوی رویداد غیر همزمان می باشد.
متد ()RunWorkerAsync متدی را که به رویداد Dowork مرتبط شده باشد را به صورت غیرهمزمان شروع می کند. به محض اینکه کار متد تمام شد رویداد دیگری از کلاس به نام RunWorkerCompleted فراخوانی می شود. نام های به کار برده شده در بالا هماهنگی کاملی با هر الگوی غیر همزمان رویداد گرایی دارند که در ادامه شرح داده خواهند می شوند.
بعلاوه BackgroundWorker توانایی پشتیبانی از متوقف سازی را دارد، در صورتی که ویژگی WorkerSupportsCancellation را True کنیم. در حین عملیات فراخوانی متد ()CancelAsync عملیات متوقف خواهد شد، هر چند که در برنامه نیازی است تا با چک کردن ویژگی CancellationPending عملیات متوقف شود.
ادامه توضیحات را با دانلود این کتاب بخوانید.