正版现货新书 深入理解Kotlin协程 9787111655916 霍丙乾
全新正版现货,以书名为准,放心购买,购书咨询18931383650朱老师
¥
59.25
7.5折
¥
79
全新
库存6件
作者霍丙乾
出版社机械工业出版社
ISBN9787111655916
出版时间2020-06
装帧平装
开本16开
定价79元
货号1202083030
上书时间2024-10-13
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
霍丙乾(Bennyhuo),毕业于北京邮电大学,现任腾讯地图数据采集研发中心团队移动客户端技术负责人。
资深Kotlin技术专家,国内知名的Kotlin开发者和布道师。
2016年10月创建微信公众号Kotlin,持续发布Kotlin相关的文章和教学视频,颇受欢迎。
2017年初开始参与Kotlin中文相关网站的翻译和维护,至今。
目录
前言
章异步程序设计介绍 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.1Future 11
1.3.2CompletableFuture 11
1.3.3Promise与async/await 13
1.3.4响应式编程 15
1.3.5Kotlin协程 15
1.4本章小结 17
第2章协程的基本概念 18
2.1协程究竟是什么 18
2.2协程的分类 20
2.2.1按调用栈分类 20
2.2.2按调度方式分类 22
2.3协程的实现举例 22
2.3.1Python的Generator 23
2.3.2Lua标准库的协程实现 24
2.3.3Go的go routine 27
2.4本章小结 30
第3章Kotlin协程的基础设施 31
3.1协程的构造 31
3.1.1协程的创建 32
3.1.2协程的启动 32
3.1.3协程体的Receiver 34
3.1.4可挂起的main函数 36
3.2函数的挂起 37
3.2.1挂起函数 37
3.2.2挂起点 38
3.2.3CPS变换 39
3.3协程的上下文 41
3.3.1协程上下文的集合特征 41
3.3.2协程上下文元素的实现 42
3.3.3协程上下文的使用 43
3.4协程的拦截器 45
3.4.1拦截的位置 45
3.4.2拦截器的使用 46
3.4.3拦截器的执行细节 47
3.5Kotlin协程所属的类别 48
3.5.1调用栈的广义和狭义 48
3.5.2调度关系的对立与统一 49
3.6本章小结 50
第4章Kotlin协程的拓展实践 51
4.1序列生成器 51
4.1.1仿Python的Generator实现 52
4.1.2标准库的序列生成器介绍 56
4.2Promise模型 57
4.2.1async/await与suspend的设计对比 58
4.2.2仿JavaScript的async/await实现 59
4.3Lua风格的协程API 61
4.3.1非对称API实现 61
4.3.2对称API实现 67
4.4再谈协程的概念 72
4.4.1简单协程与复合协程 73
4.4.2复合协程的实现模式 73
4.5本章小结 74
第5章Kotlin协程框架开发初探 75
5.1开胃菜:实现一个delay函数 75
5.2协程的描述 77
5.2.1协程的描述类 78
5.2.2协程的状态 79
5.2.3支持回调的状态 80
5.2.4协程的初步实现 83
5.3协程的创建 84
5.3.1无返回值的launch 84
5.3.2实现invokeOnCompletion 85
5.3.3实现join 89
5.3.4有返回值的async 90
5.4协程的调度 92
5.4.1协程的执行调度 92
5.4.2协程的调度位置 93
5.4.3协程的调度器设计 93
5.4.4基于线程池的调度器 94
5.4.5基于UI事件循环的调度器 96
5.4.6为协程添加默认调度器 97
5.5协程的取消 98
5.5.1完善协程的取消逻辑 98
5.5.2支持取消的挂起函数 100
5.5.3CancellableContinuation的实现 103
5.5.4改造挂起函数 106
5.6协程的异常处理 109
5.6.1定义异常处理器 110
5.6.2处理协程的未捕获异常 111
5.6.3区别对待取消异常 111
5.6.4异常处理器的运用 113
5.7协程的作用域 113
5.7.1作用域的概念 113
5.7.2作用域的声明 114
5.7.3建立父子关系 116
5.7.4很好作用域 116
5.7.5协同作用域 117
5.7.6suspend fun main的作用域 119
5.7.7实现异常的传播 120
5.7.8主从作用域 121
5.7.9完整的异常处理流程 122
5.7.10父协程等待子协程完成 122
5.8本章小结 123
第6章Kotlin协程的官方框架 124
6.1协程框架概述 124
6.1.1框架的构成 124
6.1.2协程的启动模式 126
6.1.3协程的调度器 127
6.1.4协程的全局异常处理器 129
6.1.5协程的取消检查 130
6.1.6协程的超时取消 132
6.1.7禁止取消 133
6.2热数据通道Channel 134
6.2.1认识Channel 134
6.2.2Channel的容量 136
6.2.3迭代Channel 138
6.2.4produce和actor 138
6.2.5Channel的关闭 140
6.2.6BroadcastChannel 142
6.2.7Channel版本的序列生成器 144
6.2.8Channel的内部结构 146
6.3冷数据流Flow 148
6.3.1认识Flow 149
6.3.2对比RxJava的线程切换 150
6.3.3冷数据流 151
6.3.4异常处理 151
6.3.5末端操作符 153
6.3.6分离Flow的消费和触发 153
6.3.7Flow的取消 154
6.3.8其他Flow的创建方式 155
6.3.9Flow的背压 155
6.3.10Flow的变换 157
6.4多路复用select 158
6.4.1复用多个await 158
6.4.2复用多个Channel 160
6.4.3SelectClause 161
6.4.4使用Flow实现多路复用 161
6.5并发安全 163
6.5.1不安全的并发访问 163
6.5.2协程的并发工具 164
6.5.3避免访问外部可变状态 165
6.6本章小结 166
第7章Kotlin协程在Android上的应用 167
7.1Android上的异步问题 167
7.2协程对UI的支持 173
7.3常见框架的协程扩展 177
7.4本章小结 184
第8章Kotlin协程在Web服务中的应用 185
8.1多任务并发模型 185
8.2协程在多任务模型中的运用 190
8.3常见Web应用框架的协程扩展 193
8.4本章小结 203
第9章Kotlin协程在其他平台上的应用 204
9.1Kotlin-Js 204
9.2Kotlin-Native 212
9.3本章小结 221
内容摘要
这是一部从工作机制、实现原理、应用场景、使用方法、实践技巧、标准库、框架、应用案例等多个维度全面讲解Kotlin协程的专著,它同时提供了多语言视角,亦可通过本书了解其他语言的协程。本书作者是腾讯的的不错工程师,是国内Kotlin领域的先驱者和布道者,不仅在工程实践领域积累了丰富的经验,而且在Kotlin开发者社群里有广泛的影响力和号召力。全书共9章:章从协程的核心应用场景——异步程序设计的思路和关键问题切入,引出Kotlin协程的概念;第2章首先介绍了协程的概念、分类,然后讲解了Python、Lua、Go等不同语言的协程实现和对比;第3、4章以Kotlin标准库的协程API为核心,讲解了简单协程的使用方法和运行机制,以及通过简单协程设计和实现复合协程的思路和方法;第5、6章以Kotlin的官方协程框架为模板,通过逐步实现其中的核心功能,分析了其中的实现细节和复合协程的运行机制,并对框架的使用做了深入探讨;第7、8章讲解了协程在Android应用开发和Web服务开发中的应用场景、面临的挑战,以及解决各种常见问题的方法和思路;第9章探讨了JavaScript和Native等非JVM平台对协程的支持情况,以及协程在这些平台上的应用。
— 没有更多了 —
以下为对购买帮助不大的评价