所有的协程必须在调度器中完成.即使它们在主线程上运行也是如此.
kotlin提供了几种预定义的调度器
-
Dispatchers.Default: 默认调度器.
适合执行CPU密集型的计算任务.
-
Dispatchers.IO:非主线程.
用于执行IO密集型的任务.如网络请求或文件操作.
-
Dispatchers.Main:主线程
用于在Android应用程序中执行ui相关的操作,在主线程执行.
GlobalScope.launch {
launch(Dispatchers.IO) {
// 在IO调度器上执行IO密集任务 例如请求网络,文件读写
}
launch (Dispatchers.Default ){
// 在Default执行计算密集任务 例如操作数据相关
}
launch (Dispatchers.Main){
// 更新ui 响应用户交互
}
}
网友评论