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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • [TOC] 简介 Coroutines are computer program components that ...
    Whyn阅读 11,268评论 5 15
  • 在今年的三月份,我因为需要为项目搭建一个新的网络请求框架开始接触 Kotlin 协程。那时我司项目中同时存在着两种...
    业志陈阅读 4,863评论 0 5
  • 协程(Coroutine) 协程引入 异步加载图片 普通代码:val view = ...loadImageAsy...
    晨起清风阅读 5,102评论 0 1
  • 在今年的三月份,我因为需要为项目搭建一个新的网络请求框架开始接触 Kotlin 协程。那时我司项目中同时存在着两种...
    Android开发指南阅读 4,494评论 0 2
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,076评论 0 5

友情链接更多精彩内容