Parallel Programming and Concurrency with C# 10 and .NET 6: A modern approach to building faster, more responsive, and asynchronous .NET applications

Ashcraft, Alvin

  • 出版商: Packt Publishing
  • 出版日期: 2022-08-31
  • 售價: $1,610
  • 貴賓價: 9.5$1,530
  • 語言: 英文
  • 頁數: 320
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1803243678
  • ISBN-13: 9781803243672
  • 相關分類: .NETC#
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

Leverage the latest parallel and concurrency features in .NET 6 when building your next application and explore the benefits and challenges of asynchrony, parallelism, and concurrency in .NET via practical examples

Key Features

- Learn to implement parallel programming and handle concurrency in .NET efficiently
- Switch threads while debugging and learn how to monitor specific threads in Visual Studio
- Discover how to cancel tasks with callbacks, by polling, or by using a task with wait handles

Book Description

.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.

What you will learn

- Prevent deadlocks and race conditions with managed threading
- Update Windows app UIs without causing exceptions
- Explore best practices for introducing asynchronous constructs to existing code
- Avoid pitfalls when introducing parallelism to your code
- Implement the producer-consumer pattern with Dataflow blocks
- Enforce data sorting when processing data in parallel and safely merge data from multiple sources
- Use concurrent collections that help synchronize data across threads
- Debug an everyday parallel app with the Parallel Stacks and Parallel Tasks windows

Who this book is for

This book is for beginner to intermediate-level .NET developers who want to employ the latest parallel and concurrency features in .NET when building their applications. Readers should have a solid understanding of the C# language and any version of the .NET Framework or .NET Core.

商品描述(中文翻譯)

在建立下一個應用程式時,利用.NET 6中最新的並行和並發功能,並通過實際示例探索.NET中非同步、並行和並發的好處和挑戰。

主要特點:
- 學習在.NET中有效實現並行編程和處理並發的方法
- 在調試時切換線程,並學習如何在Visual Studio中監視特定線程
- 發現如何通過回調、輪詢或使用帶有等待處理的任務來取消任務

書籍描述:
.NET從一開始就包含了受控線程功能,但早期的技術存在固有的風險:內存泄漏、線程同步問題和死鎖。本書將幫助您避免這些陷阱,並利用.NET 6和C# 10中提供的現代構造,同時提供並行和並發的模式和最佳實踐建議。並行、並發和非同步編程是當今每個.NET應用程式的一部分,對於現代開發人員來說,有效使用這些技術變得至關重要。

本書將教授中級.NET開發人員如何通過實際示例在.NET和C#中使用並行編程和並發,使其應用程式更快速和更具響應性。本書從多線程.NET開發的基礎知識開始,並探索語言和框架構造隨著.NET的演進而演變的過程。您將深入了解.NET 6中現有的不同選項,並瞭解最佳實踐、調試和單元測試的見解。

通過閱讀本書,您將深入了解在任何.NET應用程式中何時以及如何使用並行和並發。

您將學到的內容:
- 通過受控線程避免死鎖和競爭條件
- 在不引發異常的情況下更新Windows應用程式的使用者界面
- 探索將非同步構造引入現有代碼的最佳實踐
- 在引入並行編程時避免陷阱
- 使用數據流塊實現生產者-消費者模式
- 在並行處理數據時強制數據排序並安全地合併來自多個來源的數據
- 使用幫助在線程之間同步數據的並發集合
- 通過Parallel Stacks和Parallel Tasks視窗調試日常並行應用程式

本書適合對.NET開發有初級到中級水平的開發人員,他們希望在構建應用程式時使用最新的並行和並發功能。讀者應該對C#語言以及.NET Framework或.NET Core的任何版本有扎實的理解。

作者簡介

Alvin Ashcraft is a software engineer and developer community champion with over 25 years of experience in software development. Working primarily with Microsoft Windows, web, and cloud technologies, his career has focused primarily on the healthcare industry. He has been awarded as a Microsoft MVP 11 times, most recently as a Windows Dev MVP.

Alvin works in the Philadelphia area for Allscripts, a global healthcare software company, as a principal software engineer. He is also a board member of the TechBash Foundation, where he helps organize the annual TechBash developer conference. He has previously worked for companies such as Oracle, Genzeon, CSC, and ITG Pathfinders.

Originally from the Allentown, PA area, Alvin currently resides in West Grove, PA with his wife and three daughters.

作者簡介(中文翻譯)

Alvin Ashcraft是一位軟體工程師和開發者社群的推廣者,擁有超過25年的軟體開發經驗。他主要使用Microsoft Windows、網頁和雲端技術,職業生涯主要專注於醫療保健行業。他已經11次獲得Microsoft MVP的殊榮,最近一次是Windows Dev MVP。

Alvin在費城地區為全球醫療保健軟體公司Allscripts擔任首席軟體工程師。他還是TechBash Foundation的董事會成員,協助組織每年的TechBash開發者大會。他曾在Oracle、Genzeon、CSC和ITG Pathfinders等公司工作。

Alvin原本來自賓夕法尼亞州阿倫敦地區,目前與妻子和三個女兒居住在賓夕法尼亞州的West Grove。

目錄大綱

1. Managed Threading Concepts
2. Evolution of Multi-Threaded Programming in .NET
3. Best Practices for Managed Threading
4. User Interface Responsiveness with Threading
5. Asynchronous Programming with C#
6. Parallel Programming Concepts
7. Task Parallel Library (TPL) and Dataflow
8. Parallel Data Structures and Parallel LINQ
9. Working with Concurrent Collections in .NET
10. Debugging Multi-Threaded Applications with Visual Studio
11. Cancelling Asynchronous Work
12. Unit Testing Async, Concurrent, and Parallel Code

目錄大綱(中文翻譯)

1. 管理執行緒的概念
2. .NET 中多執行緒程式設計的演進
3. 管理執行緒的最佳實踐
4. 使用執行緒實現使用者介面的即時回應
5. 使用 C# 進行非同步程式設計
6. 平行程式設計的概念
7. 任務平行程式庫 (TPL) 和資料流程
8. 平行資料結構和平行 LINQ
9. 在 .NET 中使用併行集合
10. 使用 Visual Studio 偵錯多執行緒應用程式
11. 取消非同步工作
12. 單元測試非同步、併行和平行程式碼