作者: | Nir Dobovizki |
语言: | 英文 |
出版年份: | 2025 |
编程语言: | C# |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
全书分两大部分,共 14 章,循序渐进。
| 章节 | 关键词 | 一句话提炼 |
|---|---|---|
| 1 异步与多线程概念 | 多线程、异步、披萨比喻 | 用披萨店故事把“阻塞”“线程”“异步”讲透。 |
| 2 编译器魔法 | lambda、yield return | 看透编译器如何把你的 yield
和 async
重写成状态机。 |
| 3 async/await 深度 | Task、ValueTask、异常 | 为什么 await
不阻塞线程,却能让代码“像同步一样写”。 |
| 4 多线程基础 | Thread、ThreadPool、Task.Run | 何时自己 new Thread,何时用线程池,何时用 Task.Run。 |
| 5 async 与线程的关系 | SynchronizationContext、锁 | await 之后代码到底跑在哪条线程?UI 线程特殊在哪里? |
| 6 使用场景 | 服务器、桌面、云成本 | 列出“必须 async”“可不用 async”的明确决策表。 |
| 7 经典陷阱 | 死锁、竞态、饥饿 | 给出 5 条黄金规则,让并发 Bug 一眼能认。 |
| 章节 | 关键词 | 一句话提炼 |
|---|---|---|
| 8 并行处理 | Parallel.ForEach、Task.WhenAll | 把 1000 封邮件 1 秒发完的正确姿势。 |
| 9 取消与超时 | CancellationToken、Channel | 优雅地“喊停”——不 Abort、不暴力杀线程。 |
| 10 自定义 Task | TaskCompletionSource | 把旧版 Begin/End 回调、事件统统包成 awaitable 的 Task。 |
| 11 线程调度 | ConfigureAwait、TaskScheduler、Yield | 精准控制 await 之后跑 UI 线程还是线程池。 |
| 12 异步异常 | AggregateException、async void | 为什么“异常丢了”?如何定位和修复。 |
| 13 线程安全集合 | ConcurrentDictionary、Immutable、Frozen | 从“加一把大锁”到“无锁并发”“只读极速”全方案。 |
| 14 异步迭代器 | IAsyncEnumerable、await foreach | 用 yield return
异步生成序列,打造完全异步的队列。 |
实战导向
“坑”地图
云时代思维
代码即文档
dotnet run
,含 Dockerfile 方便云端复现。《C# Concurrency》= 一本把“异步+多线程”从原理、API 到性能、成本全部讲透的 C# 并发“红宝书”,让你既能写出高吞吐的云原生服务,也能避免把桌面应用写成“卡死大师”。