android - 在 Kotlin 中组合协程上下文的目的是什么?
问题描述
官方文档说我可以结合一些协程上下文,但是这样做的目的是什么,有什么效果呢?这是否意味着协程的生命周期仅限于两种上下文?
解决方案
我认为你很困惑CoroutineContext
和CoroutineDispatcher
(可能也是CoroutineScope
)。Dispatcher 只是一种 Context。其他可以是例如。Job
, CoroutineName
, CoroutineExceptionHandler
. 您可以组合其中的多个 - 例如。设置调度程序和错误处理程序 - 但每种类型只有一个。
组合多个调度程序是没有意义的,只会应用最后一个。
我找到了谈话协程!需要把他们全都抓到!来自 KotlinConf 2019的 Florina Muntenescu 和 Manuel Vivo很好地解释了其中的一些内容。
推荐阅读
- java - 在异常情况下执行 try 块中的剩余代码
- c# - 如何将我自己的枚举类型转换为通用枚举类型?
- javascript - 比较 2 个日期并以天为单位获取实时值 PHP 数据表
- micronaut - 具有所需变量的路径的 HttpServerFilter
- methods - 是否可以在参数列表中解构 self 上无可辩驳的模式?
- java - java中一个四核CPU可以同时开启多少个并发线程,规则是什么?
- apache-ranger - Hive 表上的 Apache Ranger 行级过滤策略
- typescript - 打字稿:从函数定义派生接口
- debugging - GDB:以 LD_LIBRARY_PATH/LD_PRELOAD 启动的调试程序
- c# - 打开多个选项卡时注销时的奇怪行为