版权声明
译者序
推荐序
前言
关于本书
本书未涉及的内容
样例代码
给IDE用户的建议
给Windows用户的建议
在线资源
致谢
第 1 章 概述
1.1 并发还是并行?
一字之差也是差
超越串行编程模型
1.2 并行架构
位级(bit-level)并行
指令级(instruction-level)并行
数据级(data)并行
任务级(task-level)并行
1.3 并发:不只是多核
并发的世界,并发的软件
分布式的世界,分布式的软件
不可预测的世界,容错性强的软件
复杂的世界,简单的软件
1.4 七个模型
第 2 章 线程与锁
2.1 简单粗暴
2.2 第一天:互斥和内存模型
创建线程
第一把锁
诡异的内存
内存可见性
多把锁
来自外星方法的危害
第一天总结
2.3 第二天:超越内置锁
可中断的锁
超时
交替锁(hand-over-hand locking)
条件变量
原子变量
第二天总结
2.4 第三天:站在巨人的肩膀上
创建线程之终极版
写入时复制
一个完整的程序
第三天总结
2.5 复习
优点
缺点
不易察觉的错误
其他语言
结语
第 3 章 函数式编程
3.1 若不爽,就另辟蹊径
3.2 第一天:抛弃可变状态
可变状态的风险
Clojure旋风之旅
第一个函数式程序
轻松并行
Wikipedia词频统计的函数式版本
懒惰一点好
第一天总结
3.3 第二天:函数式并行
每次一页
利用批处理改善性能
化简器
化简器内幕
分而治之
对折叠的支持
用折叠实现词频统计
第二天总结
3.4 第三天:函数式并发
同样的结构,不同的求值顺序
引用透明性
数据流
Future模型
Promise模型
函数式Web服务
第三天总结
3.5 复习
优点
缺点
其他语言
结语
第 4 章 Clojure之道——分离标识与状态
4.1 混搭的力量
4.2 第一天:原子变量与持久数据结构
原子变量
具有可变状态的多线程Web服务
持久数据结构
标识与状态
重试
校验器
监视器
混搭式Web服务
第一天总结
4.3 第二天:代理和软件事务内存
代理
内存日志系统
软件事务内存
Clojure对共享可变状态的支持
第二天总结
4.4 第三天:深入学习
用STM解决哲学家进餐问题
不用STM解决哲学家进餐问题
原子变量还是STM?
定制并发函数
第三天总结
4.5 复习
优点
缺点
其他语言
结语
第 5 章 Actor
5.1 更加面向对象
5.2 第一天:消息和信箱
第一个actor
队列式信箱
接收消息
连接到(linking)进程
有状态的actor
用API隐藏消息细节
双向通信
为进程命名
茶歇——函数是第一类对象
并行map函数
第一天总结
5.3 第二天:错误处理和容错性
一个缓存actor
错误检测
管理进程
错误处理内核(error-Kernel)模式
任其崩溃
第二天总结
5.4 第三天:分布式
OTP
分布式词频统计
第三天总结
5.5 复习
优点
缺点
其他语言
结语
第 6 章 通信顺序进程
6.1 万物皆通信
6.2 第一天:channel和go块
Channel
go块
在channel上进行操作
第一天总结
6.3 第二天:多个channel与IO
处理多个channel
异步轮询
异步IO
第二天总结
6.4 第三天:客户端CSP
并发是一种心境
Hello, ClojureScript
处理事件
驯服回调
实现一个向导器10
第三天总结
6.5 复习
优点
缺点
其他语言
结语
第 7 章 数据并行
7.1 隐藏在笔记本电脑中的超级计算机
7.2 第一天:GPGPU编程
图形处理与数据并行
第一个OpenCL程序
性能分析
多返回值
错误处理
第一天总结
7.3 第二天:多维空间与工作组
多维工作项空间
查询设备信息
平台模型
Unknown Text
使用数据并行进行化简操作
第二天总结
7.4 第三天:OpenCL和OpenGL——全部在GPU上运行
水波纹
用OpenGL显示网格
从OpenCL内核访问OpenGL缓存区
仿真水波纹
第三天总结
7.5 复习
优点
缺点
其他语言
结语
第 8 章 Lambda架构
8.1 并行计算搞定大数据
8.2 第一天:MapReduce
可行性
Hadoop基础
词频统计的Hadoop版本
在Amazon EMR上运行
处理XML
第一天总结
8.3 第二天:批处理层
传统数据系统的缺陷
永恒的真相
数据还是原始的好
Wikipedia贡献者
完成拼图
第二天总结
8.4 第三天:加速层
设计加速层
Storm系统
容错性
用Storm统计贡献
第三天总结
8.5 复习
优点
缺点
替代方案
结语
第 9 章 圆满结束
9.1 君欲何往
未来是“不变”的
未来是分布式的
9.2 未尽之路
Fork/Join模型和Work-Stealing算法
数据流
反应型编程
函数式反应型编程
网格计算
元组空间
9.3 越过山丘
参考书目
本书格式:azw3,epub,mobi,pdf
文件大小:9.76M
为了方便大家利用电子书更好的学习,精心整理了网络上的各种电子书,有PDF版本的,也有TXT版本的,现有一万多本PDF的,七万多本TXT的,还有精心整理的天涯神贴,而且还在不断增加中,有需要的可以点击下面的衔接或者扫码下载:
链接: https://pan.baidu.com/s/1z45OMvYM0Jy-BVuJJmRvtw?pwd=w3m9 提取码: w3m9 复制这段内容后打开百度网盘手机App,操作更方便哦
请先
!