Kotlin中协程随手记录

102 阅读1分钟

协程定义:线程框架,线程API,好处:处理多任务协作很很方便

代码中协程只哪个:还记得协程是什么吗?启动一个协程可以使用 launch 或者 async 函数,协程其实就是这两个函数中闭包的代码块。

挂起:协程中「挂起」的对象到底是什么?挂起线程,还是挂起函数?都不对,我们挂起的对象是协程。

那此时又是从哪里挂起:从当前线程挂起。换句话说,就是这个协程从正在执行它的线程上脱离

协程就是个线程框架

协程的挂起本质就是线程切出去再切回来

CoroutineContext:协程上下文,可以指定调度器、job、错误处理

// 方法三,自行通过 CoroutineContext 创建一个 CoroutineScope 对象
val coroutineScope = CoroutineScope(context) coroutineScope.launch { getImage(imageId) }

coroutineScope和CoroutineScope区别

CoroutineScope表示指定协程作用域,可以设置和activity的生命周期一致等

coroutineScope:主要在子协程使用,保证结构化并发,理解起来就是父协程会等子协程执行完,在向下执行