Take your enterprise application development skills to the next level by mastering parallel programming techniques in .NET and C#.
- Write efficient, fine-grained, and scalable parallel code in natural idiom with C# and .NET Core
- Experience how parallel programming works practically by building an effective application
- Learn the fundamentals of multithreading in the most effective way by delving into IIS and Kestrel
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
Who This Book Is For
If you want to learn about how task parallelism is used to build good enterprise architecture, then this book is for you. Regardless of whether you are a beginner to parallelism in C# or an experienced architect, this book will show you the different threading models supported in .Net standard and .Net Core. Prior knowledge of C# is required to read the book.