It’s been about eight months in the making but I’m very happy to announce that Parallel Programming with Microsoft .NET: Design patterns for Decomposition, and Coordination on Multicore Architectures is now available!
The book uses design patterns to help developers use the .NET 4 Task Parallel Library (TPL) write parallel applications successfully.
“To that end, the Microsoft .NET Framework parallel extensions present a higher-level programming model than earlier APIs. Programmers can, for example, think in terms of tasks rather than threads and can avoid the complexities of managing threads. Parallel programming with Microsoft .NET teaches programmers how to use these libraries by putting them in the context of design patterns. As a result, application developers can quickly learn to write parallel programs and gain immediate performance benefits.
I believe that this book, with its emphasis on parallel design patterns and an up-to-date programming model, represents an important first step in moving parallel programming into the mainstream.”
– Tony Hey, Corporate Vice President, Microsoft Research
(taken from the foreword)
The book describes six key patterns for data and task parallelism and how to implement them using the TPL.
The book also includes an appendices on how to apply some of the original Gang of Four patterns in your parallel applications and how to use the Visual Studio profiler to understand your application’s performance.
Where to get the book
The printed book is available for pre-order from O’Reilly
The content is also available on MSDN Library: Parallel Programming with Microsoft .NET. The layout isn’t quite as nice as the printed book but all the content is there.
Where to get the code samples
Accompanying the book are code samples for each chapter. This includes small code samples showing how to use each feature of the Task Parallel Library and a larger example for each chapter setting the pattern in a larger context.
You can download them from our Parallel Patterns CodePlex site. There are versions of the samples for C#, Visual Basic and now F#. You can also download answers to the questions at the end of each chapter from the CodePlex site.
Once again I’d like to thank my co-authors; Colin, Ralph and Stephen and the countless people who provided feedback, ported samples and reviewed material.