Skip to content

zoyo23/ebook_packtpub-hands_on_parallel_programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hands-On Parallel Programming with C# 8 and .NET Core 3

Codes of the book: https://www.packtpub.com/product/hands-on-parallel-programming-with-c-8-and-net-core-3/9781789132410

Book

Section 1: Fundamentals of Threading, Multitasking, and Asynchrony

  • Technical requirements
  • Moving from sequential loops to parallel loops
  • Understanding the degree of parallelism
  • Creating a custom partitioning strategy
  • Canceling loops
  • Understanding thread storage in parallel loops
  • Summary
  • Questions

Section 2: Data Structures that Support Parallelism in .NET Core

Section 3: Asynchronous Programming Using C#

Chapter 8: Introduction to Asynchronous Programming

  • Technical requirements
  • Types of program execution
  • When to use asynchronous programming
  • When not to use asynchronous programming
  • Problems you can solve using asynchronous code
  • Summary
  • Questions

Chapter 9: Async, Await, and Task-Based Asynchronous Programming Basics

  • Technical requirements
  • Introducing async and await
  • Async delegates and lambda expressions
  • Task-based asynchronous patterns
  • Exception handling with async code
  • Async with PLINQ
  • Measuring the performance of async code
  • Guidelines for using async code
  • Summary
  • Questions

Section 4: Debugging, Diagnostics, and Unit Testing for Async Code

Chapter 10: Debugging Tasks Using Visual Studio

  • Technical requirements
  • Debugging with VS 2019
  • How to debug threads
  • Using Parallel Stacks windows
  • Using Concurrency Visualizer
  • Summary
  • Questions
  • Further reading

Chapter 11: Writing Unit Test Cases for Parallel and Asynchronous Code

  • Technical requirements
  • Unit testing with .NET Core
  • Understanding the problems with writing unit test cases for async code
  • Writing unit test cases for parallel and async code
  • Mocking the setup for async code using Moq
  • Testing tools
  • Summary
  • Questions
  • Further reading

Section 5: Parallel Programming Feature Additions to .NET Core

Chapter 12: IIS and Kestrel in ASP.NET Core

  • Technical requirements
  • IIS threading model and internals
  • Kestrel threading model and internals
  • Introducing the best practices of threading in microservices
  • Introducing async in ASP.NET MVC core
  • Summary
  • Questions

Chapter 13: Patterns in Parallel Programming

  • Technical requirements
  • The MapReduce pattern
  • Aggregation
  • The fork/join pattern
  • The speculative processing pattern
  • The lazy pattern
  • Shared state pattern
  • Summary
  • Questions

Chapter 14: Distributed Memory Management

  • Technical requirements
  • Introduction to distributed systems
  • Shared versus distributed memory model
  • Types of communication network
  • Properties of communication networks
  • Exploring topologies
  • Programming distributed memory machines using message passing
  • Collectives
  • Summary
  • Questions