 As of .NET Framework 4 there is a task library that makes it easier to write parallel and multi-threaded applications through tasks.C# 5.0 has native language support for asynchrony.Consider this code that takes advantage of the task library directly