kotlin协程

1:什么是协程,kotlin协程是什么。

2:kotlin开启协程的方式

launch async+await
两者最主要区别

  • 异常处理launch内部可能会抛出异常,因此需用户手动进行处理。而async默认不会抛出异常,因为它会认为你最终必须调用await来获取结果,因此,async内部如果出现异常,用户需要在await处进行捕获。

  • 返回值:一个最重大的区别就是,launch函数返回的是一个Job对象,该对象主要用于取消协程运行,而async函数返回的是一个Deferred对象,该对象不仅可以用于取消协程,更重要的是可以获取异步任务返回结果!这是相当有用的一个特性,如下代码所示:

协程作用域的概念
CoroutineScope
GlobalScope
MainScope

创建子协程域
coroutineScope{}
这个api主要用于方便地创建一个子域,并且管理域中的所有子协程。注意这个方法只有在所有 block中创建的子协程全部执行完毕后,才会退出
supervisorScope{}
区别是supervisorScope 在子协程失败时不影响其他子协程,而coroutineScope是将异常抛出。

suspend
这种函数只能在另一个suspend函数或者协程里面被调用。

3:kotlin协程的简单用法

image.png
image.png

image.png

4:异常处理

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容