The Task Parallel Library is a basic concept of a task (i.e. a unit of work ), which represents an asynchronous operation. The term “Task parallelism” refers to one or more independent asynchronous tasks running concurrently i.e. in parallel.
The BackgroundWorker class allows you to run an operation on a separate, dedicated thread when you want a responsive UI and you are facing long delays associated with such operations, the BackgroundWorker class provides a convenient solution.