展开全部

主编推荐语

全面剖析协程的概念和实现,提供了多种语言视角和丰富的案例,可供读者深入理解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章 异步程序设计介绍
  • 1.1 异步的概念
  • 1.1.1 程序的执行
  • 1.1.2 异步与回调
  • 1.1.3 回调地狱
  • 1.2 异步程序设计的关键问题
  • 1.2.1 结果传递
  • 1.2.2 异常处理
  • 1.2.3 取消响应
  • 1.2.4 复杂分支
  • 1.3 常见异步程序设计思路
  • 1.3.1 Future
  • 1.3.2 CompletableFuture
  • 1.3.3 Promise与async/await
  • 1.3.4 响应式编程
  • 1.3.5 Kotlin协程
  • 1.4 本章小结
  • 第2章 协程的基本概念
  • 2.1 协程究竟是什么
  • 2.2 协程的分类
  • 2.2.1 按调用栈分类
  • 2.2.2 按调度方式分类
  • 2.3 协程的实现举例
  • 2.3.1 Python的Generator
  • 2.3.2 Lua标准库的协程实现
  • 2.3.3 Go的go routine
  • 2.4 本章小结
  • 第3章 Kotlin协程的基础设施
  • 3.1 协程的构造
  • 3.1.1 协程的创建
  • 3.1.2 协程的启动
  • 3.1.3 协程体的Receiver
  • 3.1.4 可挂起的main函数
  • 3.2 函数的挂起
  • 3.2.1 挂起函数
  • 3.2.2 挂起点
  • 3.2.3 CPS变换
  • 3.3 协程的上下文
  • 3.3.1 协程上下文的集合特征
  • 3.3.2 协程上下文元素的实现
  • 3.3.3 协程上下文的使用
  • 3.4 协程的拦截器
  • 3.4.1 拦截的位置
  • 3.4.2 拦截器的使用
  • 3.4.3 拦截器的执行细节
  • 3.5 Kotlin协程所属的类别
  • 3.5.1 调用栈的广义和狭义
  • 3.5.2 调度关系的对立与统一
  • 3.6 本章小结
  • 第4章 Kotlin协程的拓展实践
  • 4.1 序列生成器
  • 4.1.1 仿Python的Generator实现
  • 4.1.2 标准库的序列生成器介绍
  • 4.2 Promise模型
  • 4.2.1 async/await与suspend的设计对比
  • 4.2.2 仿JavaScript的async/await实现
  • 4.3 Lua风格的协程API
  • 4.3.1 非对称API实现
  • 4.3.2 对称API实现
  • 4.4 再谈协程的概念
  • 4.4.1 简单协程与复合协程
  • 4.4.2 复合协程的实现模式
  • 4.5 本章小结
  • 第5章 Kotlin协程框架开发初探
  • 5.1 开胃菜:实现一个delay函数
  • 5.2 协程的描述
  • 5.2.1 协程的描述类
  • 5.2.2 协程的状态
  • 5.2.3 支持回调的状态
  • 5.2.4 协程的初步实现
  • 5.3 协程的创建
  • 5.3.1 无返回值的launch
  • 5.3.2 实现invokeOnCompletion
  • 5.3.3 实现join
  • 5.3.4 有返回值的async
  • 5.4 协程的调度
  • 5.4.1 协程的执行调度
  • 5.4.2 协程的调度位置
  • 5.4.3 协程的调度器设计
  • 5.4.4 基于线程池的调度器
  • 5.4.5 基于UI事件循环的调度器
  • 5.4.6 为协程添加默认调度器
  • 5.5 协程的取消
  • 5.5.1 完善协程的取消逻辑
  • 5.5.2 支持取消的挂起函数
  • 5.5.3 CancellableContinuation的实现
  • 5.5.4 改造挂起函数
  • 5.6 协程的异常处理
  • 5.6.1 定义异常处理器
  • 5.6.2 处理协程的未捕获异常
  • 5.6.3 区别对待取消异常
  • 5.6.4 异常处理器的运用
  • 5.7 协程的作用域
  • 5.7.1 作用域的概念
  • 5.7.2 作用域的声明
  • 5.7.3 建立父子关系
  • 5.7.4 顶级作用域
  • 5.7.5 协同作用域
  • 5.7.6 suspend fun main的作用域
  • 5.7.7 实现异常的传播
  • 5.7.8 主从作用域
  • 5.7.9 完整的异常处理流程
  • 5.7.10 父协程等待子协程完成
  • 5.8 本章小结
  • 第6章 Kotlin协程的官方框架
  • 6.1 协程框架概述
  • 6.1.1 框架的构成
  • 6.1.2 协程的启动模式
  • 6.1.3 协程的调度器
  • 6.1.4 协程的全局异常处理器
  • 6.1.5 协程的取消检查
  • 6.1.6 协程的超时取消
  • 6.1.7 禁止取消
  • 6.2 热数据通道Channel
  • 6.2.1 认识Channel
  • 6.2.2 Channel的容量
  • 6.2.3 迭代Channel
  • 6.2.4 produce和actor
  • 6.2.5 Channel的关闭
  • 6.2.6 BroadcastChannel
  • 6.2.7 Channel版本的序列生成器
  • 6.2.8 Channel的内部结构
  • 6.3 冷数据流Flow
  • 6.3.1 认识Flow
  • 6.3.2 对比RxJava的线程切换
  • 6.3.3 冷数据流
  • 6.3.4 异常处理
  • 6.3.5 末端操作符
  • 6.3.6 分离Flow的消费和触发
  • 6.3.7 Flow的取消
  • 6.3.8 其他Flow的创建方式
  • 6.3.9 Flow的背压
  • 6.3.10 Flow的变换
  • 6.4 多路复用select
  • 6.4.1 复用多个await
  • 6.4.2 复用多个Channel
  • 6.4.3 SelectClause
  • 6.4.4 使用Flow实现多路复用
  • 6.5 并发安全
  • 6.5.1 不安全的并发访问
  • 6.5.2 协程的并发工具
  • 6.5.3 避免访问外部可变状态
  • 6.6 本章小结
  • 第7章 Kotlin协程在Android上的应用
  • 7.1 Android上的异步问题
  • 7.1.1 基于UI的异步问题分析
  • 7.1.2 “鸡肋”的AsyncTask
  • 7.1.3 “烫手”的回调
  • 7.1.4 “救世”的RxJava
  • 7.2 协程对UI的支持
  • 7.2.1 UI调度器
  • 7.2.2 协程版AutoDispose
  • 7.2.3 Lifecycle的协程支持
  • 7.3 常见框架的协程扩展
  • 7.3.1 RxJava的扩展
  • 7.3.2 异步组件ListenableFuture
  • 7.3.3 ORM框架Room
  • 7.3.4 图片加载框架coil
  • 7.3.5 网络框架Retrofit
  • 7.3.6 协程风格的对话框
  • 7.4 本章小结
  • 第8章 Kotlin协程在Web服务中的应用
  • 8.1 多任务并发模型
  • 8.1.1 多进程的服务模型
  • 8.1.2 多线程的服务模型
  • 8.1.3 事件驱动与异步I/O
  • 8.2 协程在多任务模型中的运用
  • 8.2.1 协程与异步I/O
  • 8.2.2 协程与“轻量级线程”
  • 8.3 常见Web应用框架的协程扩展
  • 8.3.1 Spring的响应式支持
  • 8.3.2 Vert.x
  • 8.3.3 Ktor
  • 8.4 本章小结
  • 第9章 Kotlin协程在其他平台上的应用
  • 9.1 Kotlin-Js
  • 9.1.1 Kotlin-Js概述
  • 9.1.2 Kotlin-Js上的协程
  • 9.2 Kotlin-Native
  • 9.2.1 Kotlin-Native概述
  • 9.2.2 Kotlin-Native的协程支持
  • 9.3 本章小结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。