并发编程近年逐渐热起来,Go等并发语言也对并发编程提供了良好的支持,使得并发这个话题受到越来越多人的关注。本书延续了《七周七语言》的写作风格,通过以下七个精选的模型帮助读者了解并发领域的轮廓:线程与锁,函数式编程,Clojure,actor,通信顺序进程,数据级并行,Lambda架构。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。
本书适合所有想了解并发的程序员。
作者简介:
Paul Butcher 资深程序员,涉猎广泛,从单片机编码到高级声明式编程无所不精。Paul是一位少年天才,8岁时就已经开始在8位机上编写游戏。最近几年他开始痴迷于赛车,想要去叫板汉密尔顿。除本书外,还著有在亚马逊获得全五星好评的《软件调试修炼之道》。
黄炎 现供职于上海爱可生,从事数据库高可用软件开发。简介和代码一样简洁。
目录:
译者序
推荐序
致谢
前言
第1章 概述
1.1 并发?还是并行?
1.2 并行架构
1.3 并发:不只是多核
1.4 七个模型
第2章 线程与锁
2.1 简单粗暴
2.2 第一天 互斥和内存模型
2.3 第二天 超越内置锁
2.4 第三天 站在巨人的肩膀上
2.5 复习
第3章 函数式编程
3.1 若不爽,就另辟蹊径
3.2 第一天 抛弃可变状态
3.3 第二天 函数式并行
3.4 第三天 函数式并发
3.5 复习
第4章 Clojure之道——分离标识与状态
4.1 混搭的力量
4.2 第一天 原子变量与持久数据结构
4.3 第二天 代理和软件事务内存
4.4 第三天 深入学习
4.5 复习
第5章 Actor
5.1 更加面向对象
5.2 第一天 消息和信箱
5.3 第二天 错误处理和容错性
5.4 第三天 分布式
5.5 复习
第6章 通信顺序进程
6.1 万物皆通信
6.2 第一天 channel和go块
6.3 第二天 多个channel与IO
6.4 第三天 客户端CSP
6.5 复习
第7章 数据并行
7.1 隐藏在笔记本电脑中的超级计算机
7.2 第一天 GPGPU编程
7.3 第二天 多维空间与工作组
7.4 第三天 OpenCL和OpenGL——全部在GPU上运行
7.5 复习
第8章 Lambda架构
8.1 并行计算搞定大数据
8.2 第一天 MapReduce
8.3 第二天 批处理层
8.4 第三天 加速层
8.5 复习
第9章 圆满结束
9.1 君欲何往
9.2 未尽之路
9.3 越过山丘
参考书目