Book Image

Parallel Programming and Concurrency with C# 10 and .NET 6

By : Alvin Ashcraft
5 (1)
Book Image

Parallel Programming and Concurrency with C# 10 and .NET 6

5 (1)
By: Alvin Ashcraft

Overview of this book

.NET has included managed threading capabilities since the beginning, but early techniques had inherent risks: memory leaks, thread synchronization issues, and deadlocks. This book will help you avoid those pitfalls and leverage the modern constructs available in .NET 6 and C# 10, while providing recommendations on patterns and best practices for parallelism and concurrency. Parallel, concurrent, and asynchronous programming are part of every .NET application today, and it becomes imperative for modern developers to understand how to effectively use these techniques. This book will teach intermediate-level .NET developers how to make their applications faster and more responsive with parallel programming and concurrency in .NET and C# with practical examples. The book starts with the essentials of multi-threaded .NET development and explores how the language and framework constructs have evolved along with .NET. You will later get to grips with the different options available today in .NET 6, followed by insights into best practices, debugging, and unit testing. By the end of this book, you will have a deep understanding of why, when, and how to employ parallelism and concurrency in any .NET application.
Table of Contents (18 chapters)
1
Part 1:Introduction to Threading in .NET
6
Part 2: Parallel Programming and Concurrency with C#
12
Part 3: Advanced Concurrency Concepts

To get the most out of this book

To follow along with the examples in this book, the following software is recommended for Windows developers:

  • Visual Studio 2022 version 17.0 or later
  • .NET 6

While these are recommended, if you have the .NET 6 SDK installed, you can use your preferred editor for most of the examples. For example, Visual Studio 2022 for Mac on macOS 10.13 or later, JetBrains Rider, or Visual Studio Code will work just as well. However, for any WPF or WinForms projects, Visual Studio and Windows are required. Newer versions of Visual Studio and .NET, when they are released, should also work with the examples in this book.

You are expected to have a foundational knowledge of C# and .NET with a working knowledge of Language Integrated Query (LINQ).

The most recent Visual Studio 2022 install instructions and prerequisites can always be found on Microsoft Docs here: https://docs.microsoft.com/visualstudio/install/install-visual-studio?view=vs-2022.

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

If you are unfamiliar with LINQ, there is a great C# reference on Microsoft Docs to get you started before working through the examples in this book: https://docs.microsoft.com/dotnet/csharp/programming-guide/concepts/linq/.

After reading this book, I would also recommend exploring the posts on the .NET Parallel Programming team blog. Most of the articles are several years old, but they explore the thinking behind many of the decisions made when building the .NET libraries that expose parallel programming constructs: https://devblogs.microsoft.com/pfxteam/.