C# (.NET) 中的并发:异步、并行与多线程
C# (.NET) 中的并发:异步、并行与多线程
简介:
现代 .NET 应用程序必须快速且响应灵敏,而这离不开对并发的理解。本书 《C# (.NET) 中的并发》 是一本实用指南,它将循序渐进地引导您从异步编程的基础知识,深入到复杂的数据并行处理场景以及分布式系统的构建。
您将学习如何正确使用 async 和 await,管理任务 (Task),避免阻塞以及同步对共享资源的访问。本书特别关注 TPL(任务并行库)、并行循环(Parallel.For、Parallel.ForEach),以及 ConcurrentCollection 和 PLINQ 的使用。
本书适合谁阅读:
- 希望从简单的单线程应用程序过渡到高负载系统的 C# 开发者。
- 使用 ASP.NET Core、SignalR 和微服务的后端工程师。
- 遇到性能问题(数据争用、死锁、线程饥饿)的专业人员。
- 所有希望理解 .NET 平台上异步、多线程与并行之间区别的人。
您将学到什么:
- 任务调度器 (TaskScheduler) 和 .NET 线程池的工作原理。
- 如何正确设计 async 方法并避免隐藏错误(例如,同步上下文的捕获)。
- 如何使用
Channel、SemaphoreSlim、ReaderWriterLockSlim及其他同步原语。 - 如何在 C# 中实现生产者-消费者、管道和 MapReduce 模式。
- 如何使用
System.Threading.Channels和Microsoft.Diagnostics.Tracing测试和调试并发代码。 - 如何使用
IAsyncEnumerable进行流式数据处理。
本书包含大量可直接用于实际项目的代码示例。您将学会编写不仅快速,而且安全、能抵御竞态条件和死锁的程序。阅读后,您将能够自信地设计有效利用多核处理器和异步 I/O 操作的系统。
《C# (.NET) 中的并发》 不仅仅是理论,更是一套能立即提升您代码质量和应用程序性能的工具与技巧。非常适合希望将 .NET 开发提升到新水平的人。