Hands-On Parallel Programming with C# 8 and .NET Core 3: Build solid enterprise software using task parallelism and multithreading
Authors: Shakti Tanwar
ISBN-10: 178913241X
ISBN-13: 9781789132410
Released: 2019-12-20
Print Length 页数: 346 pages
Book Description
Take your enterprise application development skills to the next level by mastering parallel programming techniques in .NET and C#.
In today’s world,practically every CPU has multi-core processors. However unless your application has implemented parallel programming,it will fail to utilize the actual processing capacity offered by the hardware. Hands-On Parallel Programming with C# 8 and .NET Core 3 will show you how to write modern software in C# 8 built on .NET Core 3 that is optimized and high performing.
In this book,you will learn how to implement multithreading and concurrency to build optimized applications that harness the power of multi-core processors. Starting with the fundamentals of threading and concurrency,you will learn about the data structure in .NET Core that supports parallelism. The book will cover how to perform asynchronous programming in C# and how to effectively diagnose and debug parallel code. You will learn about the new Kestrel server and the difference in the operating model of IIS and Kestrel. You will also learn about efficient practices like test-driven development and how to unit test your parallel code.
By the end of the book,you will have a deep understanding of the core concepts of concurrency and asynchrony to create responsive applications that are not CPU intensive.
What you will learn
How to analyze and breakdown a problem statement for parallelism
The working APM and EAP patterns and how to move legacy code to Task
Applying reduction techniques to get aggregate results
How to create PLINQ queries and factors that impact the performance of PLINQ queries
Solving concurrency problem due to producer consumer race conditions
The synchronisation primitives available in .NET Core
How threading model works with IIS and Kestrel
Make maximum advantages of resources on the server
Contents
Preface
Section 1: Fundamentals of Threading,Multitasking,and Asynchrony
Chapter 1: Introduction to Parallel Programming
Chapter 2: Task Parallelism
Chapter 3: Implementing Data Parallelism
Chapter 4: Using PLINQ
Section 2: Data Structures that Support Parallelism in. NET Core
Chapter 5: Synchronization Primitives
Chapter 6: Using Concurrent Collections
Chapter 7: Improving Performance with Lazy Initialization
Section 3: Asynchronous Programming Using C#
Chapter 8: Introduction to Asynchronous Programming
Chapter 9: Async,Await,and Task-Based Asynchronous Programming Basics
Section 4: Debugging,Diagnostics,and Unit Testing for Async Code
Chapter 10: Debugging Tasks Using Visual Studio
Chapter 11: Writing Unit Test Cases for Parallel and Asynchronous Code
Section 5: Parallel Programming Feature Additions to. NET Core
Chapter 12: lIS and Kestrel in ASP. NET Core
Chapter 13: Patterns in Parallel Programming
Chapter 14: Distributed Memory Management
Assessments
Other Books You May Enjoy
Index