
作者:StephenCleary
页数:169
出版社:人民邮电出版社
出版日期:2015
ISBN:9787115374271
电子书格式:pdf/epub/txt
内容简介
并发编程在响应式和可扩展的应用开发中得到了日益广泛的应用。但并发编程的难度曾经非常大,令众多开发人员望而却步。今天,很多更高层抽象的现代程序库的出现,大大降低了并发编程的难度。本书使用.net 4.5和c# 5.0中的语言特性,展示并行处理和异步编程技术。
《c#并发编程经典实例》既是一本入门指导书,也是一本快捷参考书,它示例丰富、结构独特,70多个源代码示例,完整的“问题-解决方案-讨论”模式,逐渐深入又自成一体。你可以循序渐进地学习本书内容,也可以直接查阅对应的示例,迅速解决手头的问题。
本书主要内容:
面向异步编程的async和await
使用tpl(任务并行库)
创建数据流管道的tpl dataflow库
基于linq的reactive extensions
为并发代码编写单元测试
并发方法之间的互操作
不可变、线程安全和生产者/消费者集合
并发代码中的取消功能支持
支持异步的面向对象编程
线程同步访问数据
作者简介
StephenCleary
C#MVP,知名软件开发人员,在C#、C++、JavaScript等方面均有丰富的经验。1998年起成为专业软件开发人员,涉猎广泛,从ARM固件到Azure样样精通。他从最初的BoostC++库开始就在为开源软件做贡献,并且发布了几个他自己的库和工具。Stephen喜欢演讲和写作,在其个人网站上,有大量受欢迎的博客文章以及开源库和应用。
相关资料
涵盖各种并发编程技术,本书体例必然成就其为现代.net并发技术的理想参考书。”
——jonskeet,谷歌高级软件开发工程师,stackoverflow总排名第一的杰出程序员,著有《深入理解c#》
“让普通人利用大规模并行能力是计算领域的一大趋势。与以前相比,开发人员已经能更好地掌握并发技术,但要把并发讲清楚对很多人仍然是一项巨大的挑战。stephen专注于这个领域,通过这本易读、完整的参考手册,帮助我们更好地理解并发、线程、反应式编程模型、并行等主题。”
——scotthanselman,微软asp.net及azurewebtools首席项目经理
本书特色
《c#并发编程经典实例》全面讲解c#并发编程技术,侧重于.net平台上较新、较实用的方法。全书分为几大部分:首先介绍几种并发编程技术,包括异步编程、并行编程、tpl数据流、响应式编程;然后阐述一些重要的知识点,包括测试技巧、互操作、取消并发、函数式编程与oop、同步、调度;最后介绍了几个实用技巧。全书共包含70多个有配套源码的实用方法,可用于服务器程序、桌面程序和移动应用的开发。
《c#并发编程经典实例》适合具有.net基础,希望学习最新并发编程技术的开发人员阅读。
目录
译者序
前言
第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 隐式状态
封面介绍















