十八、Kotlin进阶学习:1、挂起函数执行的顺序;2、使用 async 和 await 异步执行挂起函数;3、协程的调度器;4、父子协程;

1、挂起函数执行的顺序;

       如果在协程中有多个挂起函数,其执行顺序就是常规代码的顺序

【案例】模拟2个挂起函数

日志:


2、使用 async 和 await 异步执行挂起函数;

       根据前面知识知道协程代码在runBlocking中是顺序执行的,使用async可以异步执行,并且与GlobalScope.launch返回job不同,async可以通过await获取返回的值。

      并且使用async和await代码可读性更强。

【案例】

日志:


3、协程的调度器;

        所谓调度是指让协程在不同的线程上执行。

【案例 】不同的协程在不同的线程上执

日志:

如果不加join(执行顺序不是代码顺序)


4、父子协程;

       在协程中启动另一个协程,前者叫父协程,后者叫子协程。当父协程被取消时,所有子协程也会递归地被取消。

例如:第一个请求后,还有若干个请求,但是由于第一个请求失败,之后的请求就没有意义了,所以需要整体取消,使用父子协程解决此类问题。

【案例】

日志:


版权声明:本文为weixin_43936741原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。