C#并发编程经典实例第二2版高级编程汇编语言程序设计C#项目实战入门经典猫书全新升级pdf下载pdf下载

C#并发编程经典实例第二2版高级编程汇编语言程序设计C#项目实战入门经典猫书全新升级百度网盘pdf下载

作者:
简介:本篇主要提供C#并发编程经典实例第二2版高级编程汇编语言程序设计C#项目实战入门经典猫书全新升级pdf下载
出版社:凤凰新华书店旗舰店
出版时间:2020-12
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


内容介绍

本书全面讲解C#并发编程技术,侧重于.NET平台上较新、较实用的方法。新版内容全面更新,涉及异步编程基础、互操作、集合、常见场景及其处理技巧等,另外新增了关于异步流的章节。全书分为14章:D1章概览几种并发编程技术,包括异步编程、并行编程、响应式编程、数据流等;D2~6章对这些技术进行详细介绍;D7~13章深入探讨这些技术,内容包括测试技巧、互操作、取消、函数式面向对象编程、同步、调度等;D14章涉及并发编程中的一些常见场景,并配有对应的解决方案。全书共包含近90个配有源代码的实例,可用于各种应用程序的开发。



目录

D 2版赞誉 ix


前言 xi


D 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


D 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


D3章 异步流 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


D4章 并行编程基础 49


4.1 并行处理 49


4.2 并行聚合 51


4.3 并行调用 52


4.4 动态并行 53


4.5 PLINQ 55


D5章 数据流基础 57


5.1 关联的块 57


5.2 传播错误 59


5.3 块的解耦 60


5.4 块的节流 61


5.5 块的并行处理 62


5.6 创建自定义块 63


D6章 System.Reactive 基础 65


6.1 转换.NET事件 65


6.2 向上下文发送通知 68


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


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


6.5 超时 74


D7章 测试 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


D8章 互操作 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


D9章 集合 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


D 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


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


11.1 异步接口及继承 145


11.2 异步构造:工厂 147


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


11.4 异步属性 152


11.5 异步事件 154


11.6 异步丢弃 156


D 12章 同步 160


12.1 阻塞锁 164


12.2 异步锁 166


12.3 阻塞信号 168


12.4 异步信号 169


12.5 节流 170


D 13章 调度 173


13.1 将工作调度到线程池 173


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


13.3 调度并行代码 177


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


D 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