- 协程的特点
- 协程的作用域
- 协程的启动方式
- 调度器
- 协程如何使用
1.协程的特点
- 运行在线程上
- 有调度器,可以指定运行的线程
- 方便实现异步任务的同步
- suspend 用在耗时任务需要挂起,或者调用的有挂起函数
- 协议可以很方便的按顺序执行多个挂起函数对比线程还要设计线程同步
2.协程的作用域
3.协程的启动方式
launch
async
runblocking
4.调度器
|
Android 主线程 |
更新 UI |
|
弹性 I/O 优化线程池 |
网络、数据库、文件操作 |
|
CPU 密集型固定线程池 |
复杂计算、算法处理 |
|
先调用者线程,后恢复线程决定 |
测试(生产环境慎用) |
自定义调度器 |
用户定义的线程池 |
特殊需求(如专用单线程) |
5.协程如何使用
一、协程基础使用
1. 创建协程作用域
// Android ViewModel 中使用
class MyViewModel : ViewModel() {
fun fetchDa