Parallel Programming with Microsoft Visual C++
Design Patterns for Decomposition and Coordination on Multicore Architectures

The patterns & practices group is writing a new guide that will introduce Visual C++ programmers to patterns for including parallelism in their applications. Examples of these patterns are parallel loops, parallel tasks and data aggregation with map-reduce.
Each pattern has its own chapter. Each chapter includes a description of the problem, an example of where the pattern is applicable, and code that implements the solution. On this site you will find; a preliminary draft of the book, the accompanying code samples
and answers to the end of chapter questions.
System Requirements
You will need Visual C++ and at least
Visual C++ 2010 Express to run the samples. However, you will need
Visual Studio 2010 Ultimate to use some the parallel diagnostic tools such as the Concurrency Visualizer.
Relevant Blogs and Resources
Here are some blogs that will keep you up to date with what’s happening with this guide and with parallel programming at Microsoft.