Kotlin Coroutines 选择 Dispatcher
Posted
技术标签:
【中文标题】Kotlin Coroutines 选择 Dispatcher【英文标题】:Kotlin Coroutines choosing Dispatcher 【发布时间】:2019-11-28 06:14:24 【问题描述】:我正在尝试找出在什么情况下使用哪个 Dispatcher。
我阅读了一些文档并想出了这个:
默认 → CPU 工作 主 → 主(更新 UI) 无限制 IO → 写入文件/网络任务是这样吗?
那么无限制呢?
【问题讨论】:
在生产代码中你通常不会使用Unconfined
。这是一个特殊用途的无操作调度程序。
【参考方案1】:
您对调度程序类型的假设是正确的。无约束调度器——
一个不局限于任何特定线程的协程调度器
当协程不消耗 CPU 时间也不更新任何受限于特定线程的共享数据(如 UI)时,无限制调度程序是合适的。
您可以在here 和here 阅读更多相关信息
【讨论】:
以上是关于Kotlin Coroutines 选择 Dispatcher的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin Coroutines 中的 main-safe 是啥?