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

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

作者:[美] 斯蒂芬·克利里

出版社:人民邮电

出版年:2020年12月

ISBN:9787115550606

所属分类:心理健康

书刊介绍

《C#并发编程经典实例(第2版)》内容简介

本书全面讲解C#并发编程技术,侧重于.NET平台上较新、较实用的方法。新版内容全面更新,涉及异步编程基础、互操作、集合、常见场景及其处理技巧等,另外新增了关于异步流的章节。全书分为14章:第1~6章介绍几种并发编程技术,包括异步编程、并行编程、响应式编程、数据流和多线程编程;第7~13章深入介绍这些技术,内容包括测试技巧、互操作、取消、函数式面向对象编程、同步、调度等;第14章介绍并发编程中的一些常见场景,并配有对应的解决方案。全书共包含近90个配有源代码的实例,可用于各种应用程序的开发。
斯蒂芬·克利里(Stephen Cleary),C# MVP,知名软件开发人员,在C#、C++、JavaScript等方面均有丰富的经验。1998年起成为专业软件开发人员,涉猎广泛,从ARM固件到Azure样样精通。他从最初的Boost C++库开始就在为开源软件做贡献,并且发布了他自己的几个库和工具。他喜欢演讲和写作,其个人网站上有大量受欢迎的博客文章以及开源库和应用程序,在Github上也很活跃。

作品目录

O'Reilly
Media,
Inc.
介绍
第2版赞誉
前言

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
方法的异常处理
2.10、创建
ValueTask
2.11、使用
ValueTask

3、章:异步流
3.1、异步流和
Task
3.2、异步流和
IEnumerable
3.3、异步流和
Task>
3.4、异步流和
IObservable
3.5、创建异步流
3.6、消耗异步流
3.7、对异步流使用LINQ
3.8、异步流及其取消操作

4、章:并行编程基础
4.1、并行处理
4.2、并行聚合
4.3、并行调用
4.4、动态并行
4.5、
PLINQ

5、章:数据流基础
5.1、关联的块
5.2、传播错误
5.3、块的解耦
5.4、块的节流
5.5、块的并行处理
5.6、创建自定义块

6、章:System.Reactive基础
6.1、转换.NET事件
6.2、向上下文发送通知
6.3、使用窗口和缓冲来分组事件数据
6.4、通过节流和采样控制事件流
6.5、超时

7、章:测试
7.1、对
async
方法进行单元测试
7.2、对预期失败的
async
方法进行单元测试
7.3、对
async
void
方法进行单元测试
7.4、对数据流网格进行单元测试
7.5、对System.Reactive可观察对象进行单元测试
7.6、通过伪造调度对System.Reactive可观察对象进行单元测试

8、章:互操作
8.1、异步包装“已完成”事件和异步方法
8.2、异步包装
Begin
方法和
End
方法
8.3、异步包装任意对象
8.4、异步包装并行代码
8.5、异步包装System.Reactive可观察对象
8.6、用于异步代码的System.Reactive可观察包装器
8.7、异步流与数据流网格
8.8、System.Reactive可观察对象和数据流网格
8.9、将System.Reactive可观察对象转换为异步流

9、章:集合
9.1、不可变的栈和队列
9.2、不可变列表
9.3、不可变set
9.4、不可变字典
9.5、线程安全的字典
9.6、阻塞队列
9.7、阻塞栈和阻塞背包
9.8、异步队列
9.9、节流队列
9.10、采样队列
9.11、异步栈和异步背包
9.12、阻塞异步队列

10、章:取消
10.1、发起取消请求
10.2、通过轮询来响应取消
10.3、因超时而取消
10.4、取消
async
代码
10.5、取消并行代码
10.6、取消System.Reactive代码
10.7、取消数据流网格
10.8、注入取消请求
10.9、与其他取消系统互操作

11、章:函数式面向对象编程
11.1、异步接口及继承
11.2、异步构造:工厂
11.3、异步构造:异步初始化模式
11.4、异步属性
11.5、异步事件
11.6、异步丢弃

12、章:同步
12.1、阻塞锁
12.2、异步锁
12.3、阻塞信号
12.4、异步信号
12.5、节流

13、章:调度
13.1、将工作调度到线程池
13.2、通过任务调度器执行代码
13.3、调度并行代码
13.4、使用调度器实现数据流同步

14、章:场景
14.1、初始化共享资源
14.2、System.Reactive延迟计算
14.3、异步数据绑定
14.4、隐式状态
14.5、相同的同步代码和异步代码
14.6、通过数据流网格实现轨道式编程
14.7、节流进度更新
附录
A
旧版平台支持
旧版平台对
async
的支持
旧版平台对TPL数据流的支持
旧版平台对System.Reactive的支持
附录
B
识别和诠释异步模式
TAP
APM
EAP
CPS
自定义异步模式
ISynchronizeInvoke
关于作者
关于封面
看完了

相关推荐

微信二维码