当前位置:网站首页>Kotlin - 协程构建器 CoroutineBuilder
Kotlin - 协程构建器 CoroutineBuilder
2022-08-06 19:53:00 【懒到死的程序员】
是CoroutineScope的扩展函数,并继承了它的coutineContext来自动传播其上下文元素和可取消性。挂起函数需要相互传递 Continuation,每个挂起函数都要由另一个挂起函数调用,这一切都是从协程构建器开始的。
- lunch():无需产生值。返回一个 Job实例 用来管理协程的生命周期。异常???
- async():需要产生值。返回一个 Deferred实例 通过 await() 拿到执行的结果(包括异常)。异常???
参数 context:指定协程上下文。默认为空的上下文。 参数 start:指定协程启动模式。默认为可以立刻被调度的状态。 参数 block:协程执行体,即要做的任务。 | |
| lunch() | public fun CoroutineScope.launch( 返回对该协程任务的引用,即 Job 接口的匿名实现。 |
| async() | public fun <T> CoroutineScope.async( 返回协程的执行结果,通过 await() 可以拿到协程的执行结果。 |
区别
协程构建器 launch、async... | 协程作用域函数 coroutineScope()、supervisorScope()、withContext()... |
| CoroutineScope的扩展函数 | 挂起函数 |
| 携带来自CoroutineScope的协程上下文 | 携带contineation的协程上下文 |
| 异常通过Job传递给父协程 | 异常像普通函数那样抛出 |
| 构建器彼此之间是并发的 | 挂起函数彼此之间是阻塞的 |
边栏推荐
猜你喜欢

为什么Video Speed Manager 和 Video Speed Controller 的chrome插件对有些B站视频不能调速

机器学习之聚类——DBSCAN演绎组织的形成

Clustering of machine learning - the formation of DBSCAN deductive organization

62:第五章:开发admin管理服务:15:开发【新增/修改友情链接,接口】的修改功能;(其实在60篇博客中,已经开发好了)(核心是:理解MongoDB,修改数据的逻辑)

互联网基石:TCP/IP 四层模型,由浅入深直击原理!

Pytest学习-参数化parametrize

什么是商机管理?

61:第五章:开发admin管理服务:14:开发【友情链接列表查询,接口】;(核心是:理解MongoDB,查询数据的逻辑)

node的express和微信小程序实现即时通讯聊天

golang工厂模式极简示例
随机推荐
Stream流按照多字段分组
R语言拟合ARIMA模型:使用forecast包中的auto.arima函数自动搜索最佳参数组合、模型阶数(p,d,q)、设置max.p参数和max.q参数自定义阶数搜索空间大小
什么是商机管理?
面经分享:美团面试也太难了!4面美团终成Offer
为什么Video Speed Manager 和 Video Speed Controller 的chrome插件对有些B站视频不能调速
进程理论和实操
简单了解冯·诺依曼体系结构
Functions and Objects in the Prototype Chain
如何做好外贸独立站
删除数据库
Star set sail: cross-border electricity try heddle area for the majority of sellers to provide more market opportunities for development
Pytest学习-YAML
接口多态的综合案例----笔记本电脑
【zeno】zeno如何为自定义节点添加功能(apply函数和ZENDEFNODE初探)
R语言ggplot2可视化:使用ggpubr包的ggdotchart函数可视化分组克利夫兰点图(Cleveland dot)、自定义palette参数设置不同分组的颜色
Related methods of getting the absolute path of the current file in the OS module
PAT甲级:1049 Counting Ones
CI/CD持续集成/持续部署
Day12:使用正则表达式
Ali's second side: How to perform performance tuning with sudden increase in interface traffic?