如何查找Kotlin CoroutineContext的所有Element实现类?
Jetbrains从未要求开发者通读协程全量文档才能找全所有Element实现。
首先你要明确,Element本身是设计为开放扩展的接口,除了官方内置的实现外,第三方框架也可以自定义符合业务需求的Element子类,官方不可能在接口定义页穷举所有可能的实现。
官方内置的Element实现都是按功能分散在不同协程模块中的,你用到对应功能时自然会接触到,不需要提前全部梳理:
- 调度器相关:常用的
Dispatchers.IO、Dispatchers.Main、Dispatchers.Default、Dispatchers.Unconfined都属于CoroutineDispatcher类型,后者是Element的直接子类 - 生命周期控制相关:
Job、SupervisorJob这些协程任务句柄,也属于Element实现 - 调试与异常处理相关:用于标记协程名称的
CoroutineName、用于捕获未处理异常的CoroutineExceptionHandler也都是Element的子类
日常开发中你根本不需要掌握所有Element实现,常用的只有上述提到的几种,遇到特殊场景的陌生实现时再查对应功能的文档即可。
内容的提问来源于stack exchange,提问作者ntos
相关产品推荐
相关产品推荐

