编辑推荐
内容简介
作者简介
StephenCleary C#MVP,知名软件开发人员,在C#、C 、JavaScript等方面均有丰富的经验。1998年起成为专业软件开发人员,涉猎广泛,从ARM固件到Azure样样精通。他从最初的BoostC 库开始就在为开源软件做贡献,并且发布了几个他自己的库和工具。Stephen喜欢演讲和写作,在其个人网站上,有大量受欢迎的博客文章以及开源库和应用。
目录
译者序
前言
第1 章 并发编程概述
1.1 并发编程简介
1.2 异步编程简介
1.3 并行编程简介
1.4 响应式编程简介
1.5 数据流简介
1.6 多线程编程简介
1.7 并发编程的集合
1.8 现代设计
1.9 技术要点总结
第2 章 异步编程基础
2.1 暂停一段时间
2.2 返回完成的任务
2.3 报告进度
2.4 等待一组任务完成
2.5 等待任意一个任务完成
2.6 任务完成时的处理
2.7 避免上下文延续
2.8 处理async Task 方法的异常
2.9 处理async void 方法的异常
第3 章 并行开发的基础
3.1 数据的并行处理
3.2 并行聚合
3.3 并行调用
3.4 动态并行
3.5 并行LINQ
第4 章 数据流基础
4.1 链接数据流块
4.2 传递出错信息
4.3 断开链接
4.4 限制流量
4.5 数据流块的并行处理
4.6 创建自定义数据流块
第5 章 Rx 基础
5.1 转换.NET 事件
5.2 发通知给上下文
5.3 用窗口和缓冲对事件分组
5.4 用限流和抽样抑制事件流
5.5 超时
第6 章 测试技巧
6.1 async 方法的单元测试
6.2 预计失败的async 方法的单元测试
6.3 async void 方法的单元测试
6.4 数据流网格的单元测试
6.5 Rx Observable 对象的单元测试
6.6 用虚拟时间测试Rx Observable 对象
第7 章 互操作
7.1 用async 代码封装Async 方法与Completed 事件
7.2 用async 代码封装Begin/End 方法
7.3 用async 代码封装所有异步操作
7.4 用async 代码封装并行代码
7.5 用async 代码封装Rx Observable 对象
7.6 用Rx Observable 对象封装async 代码
7.7 Rx Observable 对象和数据流网格
第8 章 集合
8.1 不可变栈和队列
8.2 不可变列表
8.3 不可变Set 集合
8.4 不可变字典
8.5 线程安全字典
8.6 阻塞队列
8.7 阻塞栈和包
8.8 异步队列
8.9 异步栈和包
8.10 阻塞/ 异步队列
第9 章 取消
9.1 发出取消请求
9.2 通过轮询响应取消请求
9.3 超时后取消
9.4 取消async 代码
9.5 取消并行代码
9.6 取消响应式代码
9.7 取消数据流网格
9.8 注入取消请求
9.9 与其他取消体系的互操作
第10 章 函数式OOP
10.1 异步接口和继承
10.2 异步构造:工厂
10.3 异步构造:异步初始化模式
10.4 异步属性
10.5 异步事件
10.6 异步销毁
第11 章 同步
11.1 阻塞锁
11.2 异步锁
11.3 阻塞信号
11.4 异步信号
11.5 限流
第12 章 调度
12.1 调度到线程池
12.2 任务调度器
12.3 调度并行代码
12.4 用调度器实现数据流的同步
第13 章 实用技巧
13.1 初始化共享资源
13.2 Rx 延迟求值
13.3 异步数据绑定
13.4 隐式状态
封面介绍
C#并发编程经典实例 pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版