深入理解Kotlin协程
基本信息

【插图】

编辑推荐
腾讯高级工程师、Kotlin布道师、Kotlin中文社区负责人撰写,全面剖析协程的概念和实现,提供了多种语言视角和丰富的案例,可供读者深入理解Kotlin协程的实现原理、使用方法和应用场景。
内容简介
计算机书籍
内容简介
这是一部从工作机制、实现原理、应用场景、使用方法、实践技巧、标准库、框架、应用案例等多个维度全面讲解Kotlin协程的专著,它同时提供了多语言视角,亦可通过本书了解其他语言的协程。
本书作者是腾讯的的高级工程师,是国内Kotlin领域的先驱者和布道者,不仅在工程实践领域积累了丰富的经验,而且在Kotlin开发者社群里有广泛的影响力和号召力。
全书共9章:
第1章从协程的核心应用场景——异步程序设计的思路和关键问题切入,引出Kotlin协程的概念;
第2章首先介绍了协程的概念、分类,然后讲解了Python、Lua、Go等不同语言的协程实现和对比;
第3~4章以 Kotlin 标准库的协程 API 为核心,讲解了简单协程的使用方法和运行机制,以及通过简单协程设计和实现复合协程的思路和方法;
第5~6章以Kotlin的官方协程框架为模板,通过逐步实现其中的核心功能,分析了其中的实现细节和复合协程的运行机制,并对框架的使用做了深入探讨;
第7~8章讲解了协程在Android应用开发和Web服务开发中的应用场景、面临的挑战,以及解决各种常见问题的方法和思路;
第9章探讨了JavaScript 和 Native等非JVM平台对协程的支持情况,以及协程在这些平台上的应用。
作译者
(1)腾讯高级工程师、Kotlin布道师、Kotlin中文社区负责人撰写
(2)从工作机制、实现原理、应用场景、使用方法、实践技巧、标准库、框架等维度全面剖析协程,提供多种语言视角和丰富案例
目录
第1章 异步程序设计介绍 1
1.1 异步的概念 1
1.1.1 程序的执行 1
1.1.2 异步与回调 2
1.1.3 回调地狱 3
1.2 异步程序设计的关键问题 4
1.2.1 结果传递 4
1.2.2 异常处理 6
1.2.3 取消响应 8
1.2.4 复杂分支 9
1.3 常见异步程序设计思路 10
1.3.1 Future 11
1.3.2 CompletableFuture 11
1.3.3 Promise与async/await 13
1.3.4 响应式编程 15
1.3.5 Kotlin协程 15
1.4 本章小结 17
第2章 协程的基本概念 18
2.1 协程究竟是什么 18
前言
我应该算是国内比较早接触和使用Kotlin的开发者了。
知道这门语言完全是个偶然。当时我还在阿里巴巴实习,周末没事去公司蹭吃蹭喝蹭电脑,编译了Hotspot源码觉得还不过瘾,又开始编译
IntelliJ IDEA的社区版。
某天下午我遇到件烦心事,编译并不是很顺利。我发现有一种没见过的后缀为kt的文件,顿时感到压力倍增,Groovy和Scala我还没学会呢,
怎么又来一个!不过,当时我只是按照说明把Kotlin的环境搭建好,并没有继续理会这门还处在v0.8的语言。
毕业之后我就职于腾讯地图,得益于团队良好的技术氛围以及对新人的鼓励和信任,入职第一年就能有机会负责重构地图SDK,后来为团队贡
献了不少公共组件。整个过程中我既充分感受到了Java的魅力,也发现了它在开发效率上的不足。于是我试着用Groovy、Scala甚至Python来
开发Android,但都不太理想,最后想起JetBrains家的“小儿子”Kotlin,结果就一发不可收拾。
Lambda,我所欲也;扩展函数,亦我所欲也。二者居然可兼得。后来我的业余时间也从研究“茴香豆的‘茴’有几种写法”变成了研究“这段
Java代码用Kotlin能怎么简化”。可是,当时身边的同事和同行似乎并没有对Java感到疲惫,于是我又开始试着录视频、写文章,最终走上了
Kotlin的布道之路。
幸运的是,Kotlin在2017年的Google I/O大会上被提为Android开发的一级语言,这着实让它火了一把。那时候绝大多数Android工程师可能都
没有听说过这门语言,它有何德何能竟会受到Google的青睐?
当时,我和几个天天因Kotlin的特性而相互“口诛笔伐”的群友们聚到一起,考虑是否要写本书—大家也许需要这样一本书来了解Kotlin。不
过,这本书因写作时间很长,耗尽了大家的热情,我们尚未定稿,国内其他Kotlin入门书已陆续面世。至于我负责的协程部分,从协程还是个
“宝宝”开始,先后重写了三次,现在的Kotlin协程俨然是一位“大叔”了。
2019年,机械工业出版社的杨福川老师找到我,问我要不要写点什么。我想,Kotlin协程现在仍然是一个很大的麻烦,国内外都没有很好的资
料,官方文档又过于精练,不太适合大家入门和进阶。于是就有了这本书。
Kotlin协程不像Python、JavaScript的async/await那样容易上手,后者似乎根本不需要明白什么是协程就能轻松使用。
媒体评论
——邓凡平资深Android技术专家 /“深入理解Android”系列丛书作者
在国内Kotlin的布道者中,“Bennyhuo”这个ID如雷贯耳。本书介绍了Kotlin协程在各个领域的实际应用,提供了很多工程应用上的思路。同时,本书更进一步讲解了协程背后的实现机制,以及不同语言协程之间的异同,是Kotlin编程进阶的必读书。
——Jilen 《Kotlin核心编程》作者 / 水滴技术团队
霍老师是国内 Kotlin 编程的先驱,是首屈一指的 Kotlin 专家。本书内容由简入繁,搭配精练的图表,不仅介绍了理论,而且通过大量示例讲解了各种实战场景,一定能帮助读者深入理解Kotlin协程。不论你是Kotlin的初学者,还是已经有一定的Kotlin基础,如果想系统学习协程,这本大作绝对是必读经典。
——范圣佑JetBrains技术布道师
本书作者是国内深入研究Kotlin的开发者之一,也是国内有影响力的Kotlin布道师,他的视频教程和原创文章都颇受欢迎。本书像作者之前的作品一样干货满满,更全面、更系统化,也更有深度,会引领读者深入理解协程乃至异步程序设计的用法、原理与编程思想。
——贾彦伟Kotlin中文站负责人