C#并发编程经典实例(第2版)

C#并发编程经典实例(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: (Stephen Cleary) ,
2020-11
ISBN: 9787115550606
定价: 79.00
17人买过
  • 本书全面讲解C#并发编程技术,侧重于.NET平台上较新、较实用的方法。新版内容全面更新,涉及异步编程基础、互操作、集合、常见场景及其处理技巧等,另外新增了关于异步流的章节。全书分为14章:第1章概览几种并发编程技术,包括异步编程、并行编程、响应式编程、数据流等;第2~6章对这些技术进行详细介绍;第7~13章深入探讨这些技术,内容包括测试技巧、互操作、取消、函数式面向对象编程、同步、调度等;第14章涉及并发编程中的一些常见场景,并配有对应的解决方案。全书共包含近90个配有源代码的实例,可用于各种应用程序的开发。 斯蒂芬·克利里(Stephen Cleary),C# MVP,在ARM固件领域以及Azure服务平台等方面有着丰富的经验。他一直投身于研发开源技术,最初致力于Boost C++库,而后发布了一些自行编写的库和工具。 第 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
  • 内容简介:
    本书全面讲解C#并发编程技术,侧重于.NET平台上较新、较实用的方法。新版内容全面更新,涉及异步编程基础、互操作、集合、常见场景及其处理技巧等,另外新增了关于异步流的章节。全书分为14章:第1章概览几种并发编程技术,包括异步编程、并行编程、响应式编程、数据流等;第2~6章对这些技术进行详细介绍;第7~13章深入探讨这些技术,内容包括测试技巧、互操作、取消、函数式面向对象编程、同步、调度等;第14章涉及并发编程中的一些常见场景,并配有对应的解决方案。全书共包含近90个配有源代码的实例,可用于各种应用程序的开发。
  • 作者简介:
    斯蒂芬·克利里(Stephen Cleary),C# MVP,在ARM固件领域以及Azure服务平台等方面有着丰富的经验。他一直投身于研发开源技术,最初致力于Boost C++库,而后发布了一些自行编写的库和工具。
  • 目录:
    第 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
查看详情
12
相关图书 / 更多
C#并发编程经典实例(第2版)
C#图书馆自动化技术与应用
于源 著
C#并发编程经典实例(第2版)
C#从入门到精通(第7版)
明日科技
C#并发编程经典实例(第2版)
C#程序设计实验指导与习题测试(第4版)
余青松;江红
C#并发编程经典实例(第2版)
C#开发案例精粹
明日科技
C#并发编程经典实例(第2版)
C#网络应用编程(第4版 微课版)
马骏 韩道军
C#并发编程经典实例(第2版)
C#程序设计
路炜
C#并发编程经典实例(第2版)
C#编程开发实战(微课视频版)
郭佳佳;涂振;陈林
C#并发编程经典实例(第2版)
C#可视化程序设计案例教程 第5版
刘培林 史荧中 刘贵锋
C#并发编程经典实例(第2版)
C# 11和.NET 7入门与跨平台开发(第7版)
(美) 马克·J. 普莱斯(Mark J. Price) 著 叶伟民 译
C#并发编程经典实例(第2版)
C#函数式编程(第2版)
[美]恩里科·博南诺(Enrico Buonanno) 著;张骏温 译
C#并发编程经典实例(第2版)
C#.NET项目开发案例教程(微课视频版)
陈建国;王莹;张锦;王如龙
C#并发编程经典实例(第2版)
C#程序设计
崔舒宁
您可能感兴趣 / 更多
C#并发编程经典实例(第2版)
时间之箭,时间之环
斯蒂芬·杰·古尔德,刘年凯
C#并发编程经典实例(第2版)
公司理财(原书第13版) 斯蒂芬·A. 罗斯
斯蒂芬·A. 罗斯,伦道夫·W. 威斯特菲尔德,杰弗利·杰富,布拉德福德·D. 乔丹
C#并发编程经典实例(第2版)
威士忌百科全书:日本 全面解读日威的中文专著 一次收录日本40余家经典威士忌蒸馏所 斯蒂芬?凡?艾肯著 中信出版社
斯蒂芬·凡·艾肯
C#并发编程经典实例(第2版)
通通费悟侦探社(全7册)
斯蒂芬·帕斯蒂斯
C#并发编程经典实例(第2版)
疯狂玫瑰
斯蒂芬·金
C#并发编程经典实例(第2版)
低碳电力系统的创新技术
斯蒂芬·梅耶斯,殷荣欣 克里斯蒂娜·滨地·拉科梅尔,珍妮弗·斯托克斯-德劳特,辛西娅·雷尼尔,普拉比·塔克雷 著 徐立辉,张铁峰
C#并发编程经典实例(第2版)
美国国家地理幼儿自然科学绘本:全11册(点读版,美国国家地理学会为小探险家们精心打造的手绘科普,科普作者、地质学家刘兴诗爷爷诚意推荐)
斯蒂芬·托梅切克/著 南希·伍德曼/绘 曹雪春 译
C#并发编程经典实例(第2版)
宏观经济学(第五版)
斯蒂芬·D.威廉森
C#并发编程经典实例(第2版)
多动的孩子也能好好学
斯蒂芬妮·里兹勒 菲比恩·葛浩姆德 著;曹颖 译
C#并发编程经典实例(第2版)
罗宾斯《管理学(第15版)》学习指导()
斯蒂芬·罗宾斯 玛丽·库尔特
C#并发编程经典实例(第2版)
茨威格读书随笔
斯蒂芬·茨威格
C#并发编程经典实例(第2版)
基于活动的情报技术原理及应用
斯蒂芬·瑞安 著;[美]帕特里克·比尔特让