Kotlin - 协程调度器 CoroutineDispatcher

  • 是一个抽象类,Dispatcher是一个标准库中帮我们封装了切换线程的帮助类,可以调度协程在哪类线程上执行。
  • 由于子协程会继承父协程的上下文,在父协程上指定调度器模式后子协程默认使用这个模式。
  • IO 和 DEFAULT 模式使用同一线程池,区别是 DEFAULT 限制了最大并发数(最小为2最大为CPU核心数),IO 在需要的时候会创建额外线程。
Dispatcher.Main 运行于主线程,在 Android 中就是 UI 线程,用来处理一些 UI 交互的轻量级任务。

调用 suspend 函数

调用 UI 函数

更新 LiveData

Dispatcher.IO 运行于线程池,专为 IO、网络进行了优化。

数据库

文件读写

网络处理

Dispatcher.Default 运行于线程池,专为CPU密集型计算任务进行了优化。

数组排序

Json解析

处理差异判断

Dispatcher.Unconfined 不指定线程,在当前线程执行。

Kotlin 1.6版本

你可能感兴趣的:(Kotlin,协程,kotlin)