转载至: https://www.jb51.net/books/458875.html
下载链接: 点我一键跳转到 下载链接
下载声明: 本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
借助Java、Go等多种语言的特长,深度剖析所有主流并发编程模型
基于锁和线程的并发模型是目前最常用的一种并发模型,但是并发编程模型不仅仅只有这一种,本书几乎涵盖了目前所有的并发编程模型。了解和熟悉各种并发编程模型,在解决并发问题时会有更多思路。
——方腾飞,并发编程网站长
当看到这本书的目录时,我就为之一振。它涉及了当今所有的主流并发编程模型(当然也包括Go语言及其实现的CSP模型)。而在品读之后,我更是有一些激动。其中的大部分章节都深入浅出地描述了某一个并发编程模型的概念、特点、机理以及适用领域。加之有大量相应实现语言的示例呈现,更是让这些模型活灵活现、极易理解。另外,各章之间的衔接会使你更容易把这些知识融会贯通。总之,并发编程乃现代编程技能的必备,而这本书则为并发编程的首选佳作。
——郝林(@特价萝卜),《Go并发编程实战》作者
几十年来,专业的程序员一直在用线程与锁模型来进行并行和并发,但这仅仅是《七周七并发模型》介绍的众多模型之一。当今主流语言都竞相支持不同的并发模型,例如CSP模型、数据并行、函数式编程和Clojure的unified succession model。如果你想紧跟时代,我推荐阅读本书。
——Stuart Halloway,Cognitect联合创始人
并发编程近年逐渐热起来,Go等并发语言也对并发编程提供了良好的支持,使得并发这个话题受到越来越多人的关注。本书延续了《七周七语言》的写作风格,通过以下七个精选的模型帮助读者了解并发领域的轮廓:线程与锁,函数式编程,Clojure,actor,通信顺序进程,数据级并行,Lambda架构。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。
本书适合所有想了解并发的程序员。
译者序
推荐序
致谢
前言
第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 越过山丘
参考书目