《C#并发编程经典实例(第2版)》PDF电子书免费下载

作者:  [美] 斯蒂芬·克利里(Stephen Cleary)

出版社: 人民邮电出版社

出版年: 2020年11月

ISBN: 9787115550606

~~滚到底部有网盘下载链接~~

内容简介

目录

第 2版赞誉 ix

前言 xi

第 1章 并发概览 1

1.1 并发入门 1

1.2 异步编程 3

1.3 并行编程 7

1.4 响应式编程 10

1.5 数据流 12

1.6 多线程编程 14

1.7 并发应用程序集合 14

1.8 现代化设计 15

1.9 技术要点小结 15

第 2章 异步编程基础 16

2.1 暂停一段时间 16

2.2 返回已完成的任务 18

2.3 报告进度 20

2.4 等待一组任务完成 22

2.5 等待任意任务完成 24

2.6 在任务完成时处理它们 25

2.7 避免延续的上下文 28

2.8 async Task方法的异常处理 29

2.9 async void方法的异常处理 31

2.10 创建ValueTask 33

2.11 使用ValueTask 34

第3章 异步流 37

3.1 异步流和Task 37

3.2 异步流和IEnumerable 37

3.3 异步流和Task 38

3.4 异步流和IObservable 38

3.5 创建异步流 40

3.6 消耗异步流 42

3.7 对异步流使用LINQ 44

3.8 异步流及其取消操作 46

第4章 并行编程基础 49

4.1 并行处理 49

4.2 并行聚合 51

4.3 并行调用 52

4.4 动态并行 53

4.5 PLINQ 55

第5章 数据流基础 57

5.1 关联的块 57

5.2 传播错误 59

5.3 块的解耦 60

5.4 块的节流 61

5.5 块的并行处理 62

5.6 创建自定义块 63

第6章 System.Reactive 基础 65

6.1 转换.NET事件 65

6.2 向上下文发送通知 68

6.3 使用窗口和缓冲来分组事件数据 70

6.4 通过节流和采样控制事件流 72

6.5 超时 74

第7章 测试 77

7.1 对async方法进行单元测试 78

7.2 对预期失败的async方法进行单元测试 80

7.3 对async void方法进行单元测试 82

7.4 对数据流网格进行单元测试 83

7.5 对System.Reactive可观察对象进行单元测试 84

7.6 通过伪造调度对System.Reactive可观察对象进行单元测试 86

第8章 互操作 90

8.1 异步包装“已完成”事件和异步方法 90

8.2 异步包装Begin方法和End方法 92

8.3 异步包装任意对象 93

8.4 异步包装并行代码 94

8.5 异步包装System.Reactive可观察对象 95

8.6 用于异步代码的System.Reactive可观察包装器 96

8.7 异步流与数据流网格 98

8.8 System.Reactive可观察对象和数据流网格 100

8.9 将System.Reactive可观察对象转换为异步流 101

第9章 集合 104

9.1 不可变的栈和队列 105

9.2 不可变列表 108

9.3 不可变set 109

9.4 不可变字典 111

9.5 线程安全的字典 113

9.6 阻塞队列 115

9.7 阻塞栈和阻塞背包 116

9.8 异步队列 117

9.9 节流队列 120

9.10 采样队列 122

9.11 异步栈和异步背包 124

9.12 阻塞异步队列 125

第 10章 取消 130

10.1 发起取消请求 131

10.2 通过轮询来响应取消 133

10.3 因超时而取消 135

10.4 取消async代码 136

10.5 取消并行代码 137

10.6 取消System.Reactive代码 138

10.7 取消数据流网格 140

10.8 注入取消请求 141

10.9 与其他取消系统互操作 143

第 11章 函数式面向对象编程 145

11.1 异步接口及继承 145

11.2 异步构造:工厂 147

11.3 异步构造:异步初始化模式 149

11.4 异步属性 152

11.5 异步事件 154

11.6 异步丢弃 156

第 12章 同步 160

12.1 阻塞锁 164

12.2 异步锁 166

12.3 阻塞信号 168

12.4 异步信号 169

12.5 节流 170

第 13章 调度 173

13.1 将工作调度到线程池 173

13.2 通过任务调度器执行代码 174

13.3 调度并行代码 177

13.4 使用调度器实现数据流同步 177

第 14章 场景 179

14.1 初始化共享资源 179

14.2 System.Reactive延迟计算 182

14.3 异步数据绑定 183

14.4 隐式状态 186

14.5 相同的同步代码和异步代码 188

14.6 通过数据流网格实现轨道式编程 190

14.7 节流进度更新 191

附录A 旧版平台支持 197

附录B 识别和诠释异步模式 201

关于作者 208

关于封面 208
显示部分信息

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?