Concurrency in C# Cookbook(C# 并发编程手册)
284 页
Chinese
PDF
4.5

Concurrency in C# Cookbook(C# 并发编程手册)

Concurrency in C# Cookbook(C# 并发编程手册)

作者:

年份:

简介:

引言

由 Stephen Cleary 所著的《Concurrency in C# Cookbook》(中文译名《C# 并发编程手册》)是 .NET 生态系统中关于异步和并行编程的最佳实用指南之一。该书于 2019 年出版(第二版),是一本针对 C# 开发者在处理多线程、异步和并行时遇到的典型问题的经过验证的解决方案合集。

本书面向实践者:没有过多的理论,而是提供清晰、立即可用的方案。每个方案都包含问题描述、代码解决方案、解释和注意事项。这使得本书成为那些希望编写高效、安全且可扩展的 C# 代码的开发者的必备参考书。

本书内容

本书涵盖了 .NET 中并行编程的所有关键方面,从 async/await 的基础知识到诸如响应式编程 (Rx.NET)、通道 (Channels) 和异步代码测试等高级主题。全书共 15 章,每章专注于一个特定领域:

  • 第 1 章. async/await 基础 — 创建和等待任务、错误处理、取消操作。
  • 第 2 章. 数据流 (Dataflow) — 用于构建数据处理管道的 TPL Dataflow 库。
  • 第 3 章. 响应式编程 (Rx) — 处理 Observable 序列。
  • 第 4 章. 并行集合 — ConcurrentDictionary、ConcurrentQueue 和其他线程安全结构。
  • 第 5 章. 锁与同步 — SemaphoreSlim、ReaderWriterLockSlim、AsyncLock。
  • 第 6 章. 通道 (Channels) — .NET Core 中新的生产者/消费者机制。
  • 第 7 章. 异步代码测试 — 模拟、超时、正确性验证。
  • 第 8 章. 高级场景 — 异步流 (IAsyncEnumerable)、ValueTask、ConfigureAwait。

每个方案都遵循统一的模板:问题 → 解决方案 → 讨论 → 注意事项。这使得能够快速找到所需答案并立即应用于项目中。

本书读者对象

本书面向已有 C# 语言和 .NET 平台基础经验的开发者。它将有助于:

  • 后端开发者,构建基于 ASP.NET Core 的高负载服务。
  • 桌面应用开发者 (WPF, WinForms),希望避免 UI 卡顿。
  • 从 .NET Framework 迁移到 .NET Core/.NET 5+ 的工程师,以掌握现代异步方法。
  • 团队领导和架构师,需要为并行处理工具的选择做出决策。

异步编程的新手应先阅读介绍性章节,但总体而言,本书假设读者已熟悉 C# 基础知识。

读者将学到什么

学习本书后,您将能够:

  • 正确使用 async/await,避免死锁和竞态条件。
  • 使用 TPL Dataflow 构建数据处理管道。
  • 使用响应式流 (Rx.NET) 处理事件和流数据。
  • 为特定任务选择合适的线程安全集合。
  • 实现异步锁和其他同步原语。
  • 使用通道 (Channels) 实现生产者和消费者之间的高效通信。
  • 使用 xUnit 和 Moq 编写异步代码测试。
  • 理解 Task、ValueTask、IAsyncEnumerable 之间的区别并选择最佳类型。

本书优势

推荐