24、实战:让KtHttp支持Flow

你好,我是朱涛。又到了熟悉的实战环节,这一次我们接着来改造KtHttp,让它能够支持协程的Flow API。 有了前面两次实战的基础,这次我们应该就轻车熟路了。在之前的[4.0版本]中,为了让KtHttp支持挂起函数,我们有两种思路,一种是改造内部,...

朱涛 · Kotlin编程第一课

25、集合操作符:你也会“看完就忘”吗

你好,我是朱涛。 从这节课开始,我们就正式进入源码篇的学习了。当我们学习一门知识的时候,总是离不开What、Why和How。在前面的基础篇、协程篇当中,我们已经弄清楚了 Kotlin是什么,以及为什么要用Kotlin。那么在这个模块里,我们主要是来解...

朱涛 · Kotlin编程第一课

26、协程源码的地图:如何读源码才不会迷失

你好,我是朱涛。 在前面学习协程的时候,我们说过协程是Kotlin里最重要、最难学的特性。之所以说协程重要,是因为它有千般万般的好:挂起函数、结构化并发、非阻塞、冷数据流,等等。不过协程也真的太抽象、太难学了。即使我们学完了前面的协程篇,知道了协程的...

朱涛 · Kotlin编程第一课

27、图解挂起函数:原来你就是个状态机

你好,我是朱涛。今天我们来研究Kotlin挂起函数的实现原理。 挂起函数,是整个Kotlin协程的核心,它的重要性不言而喻。几乎所有协程里的知识点,都离不开挂起函数。而且也正是因为挂起函数的原因,我们才可以使用协程简化异步任务。 今天这节课,我会从这...

朱涛 · Kotlin编程第一课

28、launch的背后到底发生了什么

你好,我是朱涛。 在前面的课程里,我们一直在研究如何使用Kotlin协程,比如,如何启动协程,如何使用挂起函数,如何使用Channel、Flow等API。但到目前为止,我们只知道该怎么用协程,对它内部的运行机制并没有深究。 现在我们都知道,launc...

朱涛 · Kotlin编程第一课

29、Dispatchers是如何工作的

你好,我是朱涛。今天,我们来分析Kotlin协程当中的Dispatchers。 上节课里,我们分析了launch的源代码,从中我们知道,Kotlin的launch会调用startCoroutineCancellable(),接着又会调用createC...

朱涛 · Kotlin编程第一课
134567