Getting Started with Parallel Programming in .NET 4
So one of the features of .NET 4 that I’ve been eagerly awaiting is the new Parallel Programming “stuff”.
Now, anyone who has worked in concurrent environments knows, it’s daunting to learn a new set of technologies, constructs, tools, etc. For those that haven’t worked in concurrent environments, the entry into concurrency can be downright intimidating. Either way, adopting concurrent practices in your code is not a trivial process.
So to get started, I took a simple approach, which I’ve detailed in this post. The goals of my approach were:
- Understand at a high level, the full surface area of what is now possible with the Parallel Programming “stuff” (I really don’t know what to refer to it as")
- Get my hands dirty building some simple examples that map to real problems I need to solve in my day to day job
- Discover some new patterns that are made easier with the new PP “stuff”
First stop was to read this guide by Stephen Toub from the Parallel Extensions team. This is a fantastic guide, written at the perfect level for achieving goal 1. I read it top to bottom to glean the high level points, then went back over it with a more detailed eye to try and map the concepts Stephen talks about to real scenarios I have/have been experienc[ed][ing].
The third stop was to download the articles on Parallel Programming with the .NET Framework 4. I only got through the Coding Guidelines one, but will slowly grind through the others as part of my journey.
Now, there is a natural path that this kind of stuff leads to, because when you take the fact that Parallel Programming “stuff” is rolled into .NET 4, and Windows Azure will have .NET 4 support very soon, then the opportunity to build Parallel Programming Windows Azure “stuff” is pretty strong. Just putting it out there!