
不要再浪费时间从众多小文章中拼凑有关协程的零碎信息,试图形成一个完整的理解。这不仅费时费力,正因为如此,我设计了这门课程——旨在从基础到高级逐步引导你全面掌握协程的概念。通过系统学习和实践应用,你将能够在最短时间内高效掌握协程的核心知识。
课程说明
如果你一直在编写协程代码,只是‘希望’它是正确的,或者你已经放弃并选择了其他解决方案……现在是时候建立一个完整且连贯的心智模型,使你能够高效地使用协程了。通过系统学习和实践应用,你将能够形成一个清晰的理解框架,帮助你在编写协程代码时更加自信。一旦你将所有知识点串联起来,你就能像专业人士一样构建并发和异步应用,轻松应对复杂的开发任务。
轻松学习
逐步提升你的理解,每节课都建立在之前课程的基础上。
构建坚实的心智模型
理解协程的工作原理,并在任何需要的地方高效使用它们。
自信编码
了解你的协程在做什么,消除猜测的困扰。
轻松学习协程
异步代码、共享可变状态、结构化并发、上下文、作用域——学习协程时,往往不知道从哪里开始。
许多Kotlin开发者尝试从不同的博客文章和文章中拼凑信息,希望能形成一个完整的画面,但最终常常变得更加困惑。
这不只是你一个人的问题!
我曾多年在生产环境中使用协程。我阅读了文档和其他文章,观看了会议演讲,甚至深入研究了源代码。但即便如此,我仍然常常感到可能会做错某些事情。很长一段时间里,编写协程代码时,我没有像写其他代码那样自信。
我必须与这些概念搏斗,直到找到一种有趣、易懂且易于接近的方式呈现它们。
你知道我发现了什么吗?
许多开发者在协程上遇到困难的原因并不是因为协程本身难以理解。问题在于协程通常以令人望而生畏的方式介绍,直接进入异步代码,或者深入探讨内部结构。
不要再浪费时间试图从大量小文章中拼凑有关协程的零碎信息,希望最终能形成一个完整的理解。这不仅费时费力,这就是为什么我设计了这门课程——帮助你从头到尾轻松掌握协程的概念。
如果你一直在编写协程代码,只是“希望”它是正确的,或者你已经放弃并选择了其他解决方案……现在是时候建立一个完整且连贯的心智模型,使你能够高效地使用协程了。一旦你将所有知识点串联起来,你就能像专业人士一样构建并发和异步应用!
课程概述
本课程总共有超过9.5小时的内容。以下是各单元和课程的列表及其对应的课程时间。
协程和挂起函数 (35分钟)
- ✅ 协程与并发简介
- ✅ 挂起函数
- ✅ 标准库中的协程
构建器、调度器和上下文 (35分钟)
- ✅ 你需要一个作用域…
- ✅ 协程构建器:launch() 和 async()
- ✅ 线程和调度器
- ✅ 协程上下文
- ✅ 获取作用域的方式
共享可变状态 (33分钟)
- ✅ 共享可变状态简介
- ✅ 避免共享可变状态
- ✅ 局限性
- ✅ 互斥锁
- ✅ 原子操作
结构化并发 1 (46分钟)
- ✅ 结构化编程与并发
- ✅ 创建结构化并发
- ✅ 作用域和挂起函数
- ✅ 实践中的结构化并发
结构化并发 2 (49分钟)
- ✅ 取消操作
- ✅ 管理取消操作
- ✅ 协程中的异常处理
- ✅ 监督者
- ✅ CoroutineExceptionHandler
协程使用模式 (43分钟)
- ✅ 避免不必要的协程
- ✅ 将作用域附加到生命周期
- ✅ 传递作用域和调度器
- ✅ 包装基于回调的API
Flow 1: 基础 (55分钟)
- ✅ 集合和序列回顾
- ✅ Flows、收集器和发射器
- ✅ Flow操作符
- ✅ Flow和取消操作
- ✅ Flow和异常处理
Flow 2: 多协程Flows (41分钟)
- ✅ 多协程Flows简介
- ✅ 多协程Flow操作符
- ✅ 组合Flows
- ✅ 扁平化Flows
Flow 3: 热Flows (43分钟)
- ✅ 热Flows简介
- ✅ SharedFlow
- ✅ StateFlow
- ✅ 将冷Flows转换为热Flows
通道 (71分钟)
- ✅ 工作流简介
- ✅ 通道基础
- ✅ 复杂工作流
- ✅ 生产和选择
- ✅ Actor
- ✅ 终止通道
- ✅ 通道和Flows
测试和调试 (86分钟)
- ✅ 并发代码测试基础
- ✅ 在测试中控制时间
- ✅ 在外部作用域上测试协程
- ✅ 测试Flows
- ✅ 使用ID和名称进行调试
- ✅ 在IDE中调试协程
- ✅ 协程调试库
协程在实际应用中的使用 (34分钟)
- ✅ Spring框架中的协程
- ✅ Ktor服务器和客户端中的协程
- ✅ Compose应用中的协程
