What this book covers
Chapter 1, Threading Basics, introduces basic operations with threads in C#. It explains what a thread is, the pros and cons of using threads, and other important thread aspects.
Chapter 2, Thread Synchronization, describes thread interaction details. You will learn why we need to coordinate threads together and the different ways of organizing thread coordination.
Chapter 3, Using a Thread Pool, explains a thread pool concept. It shows how to use a thread pool, how to work with asynchronous operations, and good and bad practices of using a thread pool.
Chapter 4, Using Task Parallel Library, is a deep dive into a Task Parallel Library framework. This chapter outlines every important aspect of TPL, including tasks combination, exceptions management, and operations cancellation.
Chapter 5, Using C# 5.0, explains in detail the new C# 5.0 feature – asynchronous methods. You will find out what async and await keywords mean, how to use them in different scenarios, and how await works under the hood.
Chapter 6, Using Concurrent Collections, describes standard data structures for parallel algorithms included in the .NET Framework. It goes through sample programming scenarios for each data structure.
Chapter 7, Using PLINQ, is a deep dive into the Parallel LINQ infrastructure. The chapter describes task and data parallelism, parallelizing a LINQ query, tweaking parallelism options, partitioning a query, and aggregating parallel query result.
Chapter 8, Reactive Extensions, explains how and when to use the Reactive Extensions framework. You will learn how to compose events and how to perform a LINQ query against an event sequence.
Chapter 9, Using Asynchronous I/O, covers in detail the asynchronous I/O process including files, networks, and database scenarios.
Chapter 10, Parallel Programming Patterns, outlines the common parallel programming problem solutions.
Chapter 11, There's More, covers the aspects of programming asynchronous applications for Windows 8. You will learn how to work with Windows 8 asynchronous APIs, and how to perform background work in Windows Store applications.