Your hands-on, step-by-step guide to the fundamentals of parallel programming
Teach yourself how to help improve application performance by using parallel programming techniques in Visual Studio 2010—one step at a time. Ideal for experienced programmers with little or no parallel programming experience, this tutorial provides practical, learn-by-doing exercises for creating applications that optimize the use of multicore processors.
Discover how to:
Apply techniques to help increase your application's speed and efficiency
Simplify the process of adding parallelism with the Task Parallel Library (TPL)
Execute several tasks concurrently with various scheduling techniques
Perform data queries in parallel with PLINQ
Use concurrent collections in Microsoft .NET Framework 4 for data items
Extend classes in the TPL to meet the specific requirements of your application
Perform live debugging of an application with parallel code
Chapter 1 Introduction to Parallel Programming
Multicore Computing
Speedup
Software Patterns
Summary
Quick Reference
Chapter 2 Task Parallelism
Introduction to Parallel Tasks
Unhandled Exceptions in Tasks
Sort Examples
Cancellation
Task Relationships
Summary
Quick Reference
Chapter 3 Data Parallelism
Unrolling Sequential Loops into Parallel Tasks
Reduction
Using the MapReduce Pattern
Summary
Quick Reference
Chapter 4 PLINQ
Introduction to LINQ
PLINQ Operators and Methods
Handling Exceptions
Cancellation
Reduction
Summary
Quick Reference
Chapter 5 Concurrent Collections
Concepts of Concurrent Collections
Lower-Level Synchronization
Summary
Quick Reference
Chapter 6 Customization
Identifying Opportunities for Customization
Custom Producer-Consumer Collections
Task Partitioners
Advanced Custom Partitioners
Custom Schedulers
Summary
Quick Reference
Chapter 7 Reports and Debugging
Debugging with Visual Studio 2010
Using the Parallel Tasks Window
Using the Parallel Stacks Window
Using the Concurrency Visualizer
The Sample Application
Summary
Quick Reference
Appendix Donis Marshall
Title:
Parallel Programming with Microsoft® Visual Studio® 2010 Step by Step
Donis Marshall has over 20 years of experience in designing and building enterprise software utilizing Microsoft technologies for leading companies across industry segments. He is an endorsed trainer for Microsoft Global Learning Services, and has been training Microsoft developers and engineers for many years. Donis is the author of the Programming Microsoft Visual C# 2005, Programming Microsoft Visual C# 2008, and Solid Code, published by Microsoft Press.