When C# 4.0 was released we C# developers were given a new toy. to play with, and that's Parallel Programming. This is done with the System.Threading.Tasks.Parallel Namespace. This allows for parallel loops & regions (to be discussed at a later date). What is parallel programming you ask, well in todays age most, if not all, household computers have multi-core processors, and parallel programming allows us to take davantage of this new found power, well not actually new as multi-core processors have been around a while now, but software has not kept up with the changes in hardware.