尝试解读Kotlin协程基础知识完整体系
2022-02-24 本文已影响0人
愿你我皆是黑马
最近在画各种图,所以这里贴贴图来说明一下
介绍
上周五面试有被问到关于协程的问题。发现越来越多的面试会问到协程,所以整理协程完整的知识体系,已经是迫在眉睫了。于是写了这个。只是尝试解读,不免也有错漏之处,非常感谢指出存在的问题。
依赖引入
![](https://img.haomeiwen.com/i13429614/1e3f1f2eb8dfb9f6.png)
大纲
- 协程是什么
- 挂起和恢复
- 什么是作用域CoroutineScope
- 调度器
- 什么是Job
- 协程上下文:CoroutineContext
- 启动方式及启动模式
- Job取消操作
- 异常处理
- 异步流Flow
- 通道Channel
- 协程提供的并发安全
- 多路复用(select)
- 协程+MVVM+Jetpack实战演练
协程是什么
![](https://img.haomeiwen.com/i13429614/c79afb95f813d265.png)
挂起和恢复
![](https://img.haomeiwen.com/i13429614/bbd40f811862fd5e.png)
什么是作用域CoroutineScope
![](https://img.haomeiwen.com/i13429614/988506bd33046c69.png)
调度器
![](https://img.haomeiwen.com/i13429614/75f32561e6e63815.png)
什么是Job
![](https://img.haomeiwen.com/i13429614/f33dc1ea2394a37c.png)
协程上下文:CoroutineContext
![](https://img.haomeiwen.com/i13429614/9671ef85192c62b2.png)
启动方式及启动模式
![](https://img.haomeiwen.com/i13429614/7e465c776512022b.png)
Job取消操作
![](https://img.haomeiwen.com/i13429614/35dcbf29987e77f8.png)
异常处理
![](https://img.haomeiwen.com/i13429614/20477d43410e966f.png)
异步流Flow
![](https://img.haomeiwen.com/i13429614/5b9999be0b4ba45d.png)
通道Channel
![](https://img.haomeiwen.com/i13429614/ed6817983dce6f37.png)
协程提供的并发安全
![](https://img.haomeiwen.com/i13429614/78c4f45b51462902.png)
多路复用(select)
![](https://img.haomeiwen.com/i13429614/5f94523d24d8421f.png)
协程+MVVM+Jetpack实战演练
知识点内容有点多,导致这个还没完成。后面在发一次
附:作用域的继承结构
![](https://img.haomeiwen.com/i13429614/11c184893d60391b.png)
附:Job的继承结构
![](https://img.haomeiwen.com/i13429614/338b60026ad9bfa1.png)