创建协程:
- runBlocking 启动一个新的协程,阻塞当前线程直到协程执行完毕
- async 启动一个新的协程,返回Deferred对象,可以通过该对象获取协程执行的结果
- withContext:在当前协程中切换上下文,并执行指定的代码块
- GlobalScope.launch:启动一个新的协程,不阻塞当前线程,该协程的生命周期与应用程序的生命周期相同
- lifeScope.launch:启动一个新的协程,不阻塞当前协程,该协程的生命周期与所在页面的生命周期相同
协程调度器
协程的原理
协程的核心是挂起和恢复,本质是return和callback回调,continuation和continuation.resumeWith()