Android开发之MVVM模式实践(五):async_await与suspend的讲解

本文介绍了Android开发中协程的使用,特别是async_await和suspend的概念。async用于创建一个返回Deferred对象的协程,await则用于获取异步操作的结果。文中通过案例分析了async_await在并发场景的应用,展示了它们如何实现任务的并发执行和顺序执行。此外,还详细解释了suspend关键字的作用,即挂起函数在协程中的执行流程。
摘要由CSDN通过智能技术生成

大家好,我是小益!在上章内容中,我们简单了解了什么是协程以及协程的基本使用,主要提到了协程的launchwithContext用法。但是launchwithContext并不适合用于需要返回结果的并发场景,在并发场景中,我们一般会使用协程的async/await

推荐

文章将率先在公众号「Code满满」与个人博客「李益的小站」上发布,如果觉得本文对你有帮助,就快来关注一下公众号吧! 文章将率先在公众号「Code满满」与个人博客「李益的小站」上发布,如果本文对你有帮助,就关注一下公众号吧!

wxgzh-qrcode.jpg

一、async与awiat

async单单从字面意思理解就知道其与异步有关。async也是CoroutineScope的扩展函数,其源码如下:

public fun CoroutineScope.async(
context: CoroutineContext = EmptyCoroutineContext,
start: CoroutineStart = CoroutineStart.DEFAULT,
block: suspend CoroutineScope.() -> T
): Deferred {
val newContext = newCoroutineContext(context)
val coroutine = if (start.isLazy)
LazyDeferredCoroutine(newContext, block) else
DeferredCoroutine(newContext, active = true)
coroutine.start(start, coroutine, block)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值