搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
七周七并发模型
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115386069
  • 作      者:
    (美)Paul Butcher著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2015
收藏
编辑推荐
  

  《七周七并发模型》介绍了七种并发模型,行文通俗易懂,有数量充足且设计精良的样例来帮助读者理解。Paul将引领你学习多种非常不同的技术,从一些社交平台使用的Lambda架构,到现在世界上许多最可靠的电信系统使用的actor模型。你还会学到职业高手使用的编程语言,从Java到Clojure,再到基于Erlang的闪亮新秀Elixir。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。

展开
作者简介
  Paul Butcher ,资深程序员,涉猎广泛,从单片机编码到高级声明式编程无所不精。Paul是一位少年天才,8岁时就已经开始在8位机上编写游戏。最近几年他开始痴迷于赛车,想要去叫板汉密尔顿。除本书外,还著有在获得全五星好评的《软件调试修炼之道》。
展开
内容介绍
  并发编程近年逐渐热起来,Go等并发语言也对并发编程提供了良好的支持,使得并发这个话题受到越来越多人的关注。《七周七并发模型》延续了《七周七语言》的写作风格,通过以下七个精选的模型帮助读者了解并发领域的轮廓:线程与锁,函数式编程,Clojure,actor,通信顺序进程,数据级并行,Lambda架构。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。
  《七周七并发模型》适合所有想了解并发的程序员。
展开
精彩书评

  ★基于锁和线程的并发模型是目前最常用的一种并发模型,但是并发编程模型不仅仅只有这一种,本书几乎涵盖了目前所有的并发编程模型。了解和熟悉各种并发编程模型,在解决并发问题时会有更多思路。

  ——方腾飞,并发编程网站长


  ★当看到这本书的目录时,我就为之一振。它涉及了当今所有的主流并发编程模型(当然也包括Go语言及其实现的CSP模型)。而在品读之后,我更是有一些激动。其中的大部分章节都深入浅出地描述了某一个并发编程模型的概念、特点、机理以及适用领域。加之有大量相应实现语言的示例呈现,更是让这些模型活灵活现、极易理解。另外,各章之间的衔接会使你更容易把这些知识融会贯通。总之,并发编程乃现代编程技能的必备,而这本书则为并发编程的首选佳作。

  ——郝林(@特价萝卜),《Go并发编程实战》作者


  ★几十年来,专业的程序员一直在用线程与锁模型来进行并行和并发,但这仅仅是《七周七并发模型》介绍的众多模型之一。当今主流语言都竞相支持不同的并发模型,例如CSP模型、数据并行、函数式编程和Clojure的unified succession model。如果你想紧跟时代,我推荐阅读本书。

  ——Stuart Halloway,Cognitect联合创始人


  ★随着计算机拥有越来越多的核,理解并发技术变得愈发重要。本书介绍了为什么函数式编程会与并发有关、如何利用actor模型编写分布式软件、怎样利用GPU实现并行处理以及大数据的相关内容。通过阅读本书,你可以充实自己的知识库,为未来数年做好准备。

  ——José Valim,Plataformatec联合创始人


  ★这是个变革的时代,每个程序员都应学会并发编程的思维方式。如果你问我“应当如何适应这个并发的时代”,我会推荐阅读本书,因为我从中受益良多。

  ——Andrew Haley,Red Hat公司首席Java工程师


  ★随着阿姆达尔定律开始取代摩尔定律的地位,面向并发编程也逐渐开始取代面向对象编程的地位。本书的问世恰逢其时。Paul在书中详尽介绍了最重要的几种并发模型,足以帮助读者选择最适合的并发模型。如果你要开发与多核相关的软件,我推荐必读本书。

  ——Francesco Cesarini,Erlang Solutions创始人、技术总监


  ★我与Paul有过多次合作,我确信他是编程语言设计和结构方面的专业。并发是现代软件工程上非常重要但又容易被误读的主题,本书清晰阐述了这个主题。

  ——Ben Medlock,SwiftKey联合创始人、CTO

展开
目录

第1章 概述  1

1.1 并发还是并行?   1

1.2 并行架构  3

1.3 并发:不只是多核  5

1.4 七个模型  6

第2章 线程与锁  7

2.1 简单粗暴  7

2.2 第一天:互斥和内存模型  8

2.3 第二天:超越内置锁  17

2.4 第三天:站在巨人的肩膀上  27

2.5 复习  38

第3章 函数式编程  41

3.1 若不爽,就另辟蹊径  41

3.2 第一天:抛弃可变状态  42

3.3 第二天:函数式并行  51

3.4 第三天:函数式并发  61

3.5 复习  70

第4章 Clojure 之道——分离标识与状态  73

4.1 混搭的力量  73

4.2 第一天:原子变量与持久数据结构  73

4.3 第二天:代理和软件事务内存  84

4.4 第三天:深入学习  92

4.5 复习  98

第5章 Actor  100

5.1 更加面向对象  100

5.2 第一天:消息和信箱  101

5.3 第二天:错误处理和容错性  111

5.4 第三天:分布式  120

5.5 复习  132

第6章 通信顺序进程  135

6.1 万物皆通信  135

6.2 第一天:channel 和go 块  136

6.3 第二天:多个channel 与IO  146

6.4 第三天:客户端CSP  157

6.5 复习  164

第7章 数据并行  167

7.1 隐藏在笔记本电脑中的超级计算机  167

7.2 第一天:GPGPU编程  167

7.3 第二天:多维空间与工作组  177

7.4 第三天:OpenCL和OpenGL——全部在GPU 上运行  187

7.5 复习  194

第8章 Lambda架构  196

8.1 并行计算搞定大数据  196

8.2 第一天:MapReduce  197

8.3 第二天:批处理层  208

8.4 第三天:加速层  218

8.5 复习  229

第9章 圆满结束  231

9.1 君欲何往  231

9.2 未尽之路  232

9.3 越过山丘  234

参考书目  235

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证