Go语言并发之道
于畅, 马鑫, 赵晨光 译
出版时间:2018年11月
页数:245
众所周知,构建正确的并发程序并不容易,但幸运的是,Go语言这门开源编程语言使编写并发程序变得简单并易于处理。如果你是熟悉Go语言的开发者,这本书非常实用,它展示了在你系统中融入并发特性的最佳实践和模式。
本书作者带你一步一步深入这些方法。你将理解 Go语言为何选定这些并发模型,这些模型又会带来什么问题,以及你如何组合利用这些模型中的原语去解决问题。学习那些让你在独立且自信的编写与实现任何规模并发系统时所需要用到的技巧和工具。
● 理解Go语言如何解决并发难以编写正确这一根本问题。
● 学习并发与并行的关键性区别。
● 深入到Go语言的内存同步原语。
● 利用这些模式中的原语编写可维护的并发代码。
● 将模式组合成为一系列的实践,使你能够编写大规模的分布式系统。
● 学习 goroutine 背后的复杂性,以及Go语言的运行时如何将所有东西连接在一起。
- 前言
- 第1章 并发概述
- 摩尔定律,Web Scale和我们所陷入的混乱
- 为什么并发很难?
- 面对复杂性的简单性
- 第2章 对你的代码建模:通信顺序进程
- 并发与并行的区别
- 什么是CSP
- 如何帮助你
- Go语言的并发哲学
- 第3章 Go语言并发组件
- goroutine
- sync包
- channel
- select 语句
- GOMAXPROCS控制
- 小结
- 第4章 Go语言的并发模式
- 约束
- for-select循环
- 防止goroutine泄漏
- or-channel
- 错误处理
- pipeline
- 扇入,扇出
- or-done-channel
- tee-channel
- 桥接channel模式
- 队列排队
- context包
- 小结
- 第5章 大规模并发
- 异常传递
- 超时和取消
- 心跳
- 复制请求
- 速率限制
- 治愈异常的goroutine
- 小结
- 第6章 goroutine和Go语言运行时
- 工作窃取
- 向开发人员展示所有这些信息
- 尾声
- 附录A
书名:Go语言并发之道
译者:于畅, 马鑫, 赵晨光 译
国内出版社:中国电力出版社
出版时间:2018年11月
页数:245
书号:978-7-5198-2494-5
原版书书名:Concurrency in Go
原版书出版商:O'Reilly Media
Katherine Cox-Buday
Katherine Cox-Buday是一名计算机科学家,目前就职于Simple online banking。她的业余爱好包括软件工程、创作、Go语言(igo、baduk、weiquei)和音乐,这些都是她长期的追求,并且有着不同层面的贡献。
本书封面动物是一只短耳朵的象鼩(Macroscelides proboscideus),它是一种小型哺乳动物,原产于纳米比亚、博茨瓦纳和南非的干旱地区。短耳象鼩被称为“sengi”,其名字来源于它们特别像大象鼻子一样的细长鼻子。
短耳象鼩的体重在28~43g,长约10cm,成为象鼩家族中的最小物种。它们的皮毛是棕色和灰色的,腹部是白色的。它们以昆虫为食,像白蚁、蚂蚁、蠕虫,还有像浆果和树叶芽一样的植物。
虽然短耳象鼩主要是独居动物,但它们是少数几种一夫一妻制的哺乳动物之一。交配时将会联合起来保护它们的领地不受其他动物的伤害。一只短耳朵象鼩的寿命在野外是1~2年,但它们被证明可以活到4年。
O’Reilly的许多书的封面动物都濒临灭绝,所有这些动物对世界都很重要。想了解更多关于如何帮助它们的信息,请登录animals.oreilly.com。
封面图片来自Braukhaus Lexicon。