文章目录
一、协程调度器
二、协程任务泄漏
三、结构化并发
一、协程调度器
----
协程 是在 调度器 中运行的 , 在协程中有 3 种调度器 :
Dispatchers.Main 调度器 : 在 主线程...耗时任务 , 主要侧重算法消耗 ; 使用场景 : 数据排序 , 数据解析 , 数据对比 等耗时算法操作 ;
这里特别注意 , 在协程中调用 挂起 suspend 函数 , 必须在 Dispatchers.Main...调度器中执行 ;
Dispatchers.IO 调度器 和 Dispatchers.Default 调度器 都是在子线程 中执行耗时任务 , 但是在取消任务方面 , 磁盘或网络操作 与 CPU 密集型操作..., 但是仍然会消耗 内存 , CPU , 网络 , 磁盘 等资源 ;
Kotlin 中引入了 结构化并发机制 避免 协程任务泄漏 的情况发生 ;
协程任务泄漏 与 内存泄漏 类似 ;
三、结构化并发...----
结构化并发 使用场景 :
协程任务取消 : 在不需要协程任务的时候 , 取消协程任务 ;
追踪协程任务 : 追踪正在执行的协程任务 ;
发出错误信号 : 如果 协程任务执行失败 , 发出错误信号