Hey! Just to give you a heads up for a new class called Task introduced in .Net Framework 4.
This class, as the name suggests, allows the developer to run a synchronous or asynchronous job in a separate thread. It offers quite a few advantages in comparison with other well known classes like the now old BackgroundWorker like the possibility to cancel a task and the possibility to create sub-tasks and many others. In exchange what you see in BackgroundWorker and you don’t see in Task class is progress reporting. Fortunately this is a functionality that is easily implementable also using a Task class. See this nice post for how to do it. You can also find there an equivalent implementation using BackgroundWorker.
Task class is found inside System.Threading.Tasks namespace. This class and related types are part of a set of public types called TPL (Task Parallel Library) and it is a new programming model introduced by Microsoft in it’s framework mainly for parallel programming.
For more information please visit MSDN page for TPL (Task Parallel Library).
Here’s a simple example (from MSDN) of code showing how you can manipulate a single Task instance: