Pro .NET 4 Parallel Programming in C#

By Adam Freeman

Pro .NET 4 Parallel Programming in C# Cover Image

Parallel programming is one of the essential features of .NET 4, providing the foundation of Microsoft's effort to standardize and simplify programming scalable and reliable multi-threaded applications.

Full Description

  • ISBN13: 978-1-4302-2967-4
  • 328 Pages
  • User Level: Intermediate to Advanced
  • Publication Date: May 27, 2010
  • Available eBook Formats: PDF
  • Print Book Price: $64.99
  • eBook Price: $45.99
Buy eBook Buy Print Book Add to Wishlist

Related Titles

Full Description

Parallel programming has been revolutionised in .NET 4, providing, for the first time, a standardised and simplified method for creating robust, scalable and reliable multi-threaded applications. The Parallel programming features of .NET 4 allow the programmer to create applications that harness the power of multi-core and multi-processor machines. Simpler to use and more powerful than “classic” .NET threads, parallel programming allows the developer to remain focused on the work an application needs to perform.

In Pro .NET 4 Parallel Programming in C#, Adam Freeman presents expert advice that guides you through the process of creating concurrent C# applications from the ground up. You’ll be introduced to .NET’s parallel programming features, both old and new, discover the key functionality that has been introduced in .NET 4, and learn how you can take advantage of the power of multi-core and multi-processor machines with ease.

Pro .NET 4 Parallel Programming in C# is a reliable companion that will remain with you as you explore the parallel programming universe, elegantly and comprehensively explaining all aspects of parallel programming, guiding you around potential pitfalls and providing clear-cut solutions to the common problems that you will encounter.

What you’ll learn

  • Develop scalable and robust parallel applications in C#
  • Design, test and use parallel algorithms and data structures
  • Understand and implement common parallel design patterns
  • Avoid common anti-patterns and problems
  • Use Visual Studio to verify and debug parallel applications

Who this book is for

This book is for .NET developers encountering parallel or multi-threaded programming for the first time. No prior knowledge of multi-threaded programming is required, but the reader should be familiar with basic programming in C# using Visual Studio.

Table of Contents

Table of Contents

  1. Introducing Parallel Programming
  2. Task Programming
  3. Sharing Data
  4. Coordinating Tasks
  5. Parallel Loops
  6. Parallel LINQ
  7. Testing and Debugging
  8. Common Parallel Algorithms
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.

Errata

Please Login to submit errata.

On page 42:

When executing listing 2-22, the UnobservedTaskException handler is never utilized. Nothing is written to the console regarding the exceptions.

On page 43:

Two problems with table 2-8 (one only typographic)
1. (Typographic only) Description for Canceled includes a quoting error.
2. There is a duplicate entry for the "WaitingForChildrenToComplete" enum value.

On page 45:

In the example code, the creation of task 1 incorrectly indexes the return result of the intended task. Shouldn't it read:
tasks[1] = Task.Factory.StartNew(() => {
...
return tasks[0].Result + 100;
}