Kotlin协程(同步、异步和常用的API)

本文深入探讨了Kotlin协程,它旨在解决异步编程中的问题,使得异步代码能像同步代码般简洁。通过编译器对suspend函数的支持和Kotlin.coroutine框架,协程被编译成状态机执行。文章详细介绍了创建、启动、挂起协程的方法,以及Continuation和CoroutineContext接口在协程控制中的作用。
摘要由CSDN通过智能技术生成

一、什么是协程
1.协作程序,解决异步问题
2.应用层完成调度

二、协程要解决的问题
1.看下伪代码

现在开始我们要运行协程啦{
    //现在我们在协程里面
    //花括号内的代码可以是一段运行在UI线程的代码,比如Android初始化UI
    val 视图 = ...//初始化视图
    //注意 图片 = 异步加载图片(图片的地址)
    视图.显示图片(图片)
}

2.使异步代码像同步代码一样直观
3.简化异步代码异常处理
4.轻量级的并发方案

三、Kotlin是如何支持协程的
1.编译器对suspend函数的编译支持
2.标准库的基本API支持
3.Kotlin.coroutine框架应用级的支持

四、执行流程
1.协程被编译成状态机
2.suspend函数进行状态转移
开始——状态机(协程执行)——结束

五、运行结果
1.正常的结果通过resume返回
2.异常通过resumeWithException抛出

六、看一些协程的API在哪里
这里写图片描述

七、创建协程和启动协程
创建协程:createCoroutine
启动协程:startCoroutine

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值