首页
AI Coding
AIDP
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
半寿翁
掘友等级
Android开发
|
四维智联
获得徽章 3
动态
文章
专栏
沸点
收藏集
关注
作品
赞
26
文章 26
沸点 0
赞
26
返回
|
搜索文章
赞
文章( 26 )
沸点( 0 )
协程(15) | 挂起函数原理解析
Continuation是一个协程底层概念,表示挂起点返回类型为T的继续。而挂起函数就是CPS+状态机来实现,整个递归调用就使用一个continuaiton对象。
协程(14) | 让你的代码支持Flow
前言 协程到现在,我们已经差不多学完了所有基础知识,包括协程启动方式、挂起函数、结构化并发、异常处理、Channel以及Flow等,而关于Flow的进阶使用以及协程更多进阶使用,在后面还需要继续探索。
协程(8) | Channel
Channel是一个管道,可以用在协程间通信,而且发送和接收都是挂起函数,用于返回多个结果的情况,比如APP首页实时显示后台GPS数据,同时它是"热"的。
协程(7) | CoroutineContext
Context可以理解为环境变量的集和。协程中很多类都是它的子类,而本身设计接口类似Map,所以可以用+、[]来方便构建想要的对象
协程(6) | 结构化并发
协程的结构化并发让协程具备了线程所不具有的功能,让协程存在父子关系。结构化即带结构和层次,可以在协程取消时特别方便。
协程(5) | Job的生命周期
本系列专栏 https://juejin.cn/column/7090416754840567816 前言 前面文章我们介绍了协程的挂起和恢复,同时说了挂起函数的本质。那协程既然是运行在线程上轻量的T
协程(4) | 挂起函数
挂起函数就是添加了suspend关键字的函数,编译器会把suspend函数通过CPS转换换成CallBack方式。而协程的block本质就是挂起函数,挂起和恢复是协程底层能力,挂起函数是上层表现
协程(3) | runBlocking和async启动协程
launch启动的协程就像是射箭,适合那种一次性的不需要执行结果的任务,runBlocking会阻塞线程,不建议使用,async就像是钓鱼,可以通过Deferrd这个鱼竿得到鱼儿
协程(2) | launch启动协程
launch启动协程就如射箭。launch函数的参数分别协程上下文,启动模式,和block,其中还是协程范围CoroutineScope的扩展函数
协程(1) | 协程思维
广义的协程就是互相协作的程序,kotlin中的协程可以看成是轻量的线程,是运行在线程上非阻塞的Task,而非阻塞通过挂起和恢复来实现。
下一页
关注了
28
关注者
1
收藏集
8
关注标签
17
加入于
2017-05-18