首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
kotlin协程
订阅
仙女抽水烟
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
协程Flow原理(包教包会的那种)
在上一篇文章里我们深入分析了协程中的线程切换,这篇我们再进一步分析协程更高阶用法Flow。 什么是Flow Flow直译过来就是“流”的意思,也就是将我们我们任务如同水流一样一步一步分割做处理。想象一
Kotlin协程之一文看懂StateFlow和SharedFlow
一般而言,对于 View 和 ViewModel 之间简单的响应式开发,使用 LiveData 就足够了,而对于一些复杂场景(切换线程,数据流变换等),可以考虑使用 Flow 来处理异步数据流。
Kotlin协程之基础使用
在上一篇 Kotlin协程之深入理解协程工作原理 中从源码角度介绍过 Kotlin 协程的工作原理,这一篇文章记录一下 Kotlin 协程的基础使用,熟悉协程开发的同学忽略即可。文中内容如有错误欢迎指出,共同进步!觉得不错的留个赞再走哈~ 2019 年 Google I/O 大…
【译】kotlin 协程官方文档(9)-选择表达式(实验阶段)
我们现在有两个字符串生产者:fizz 和 buzz 。其中 fizz 每 300 毫秒生成一个字符串“Fizz”: 使用挂起函数 receive,我们可以从两个通道接收其中一个的数据。但是 select 表达式允许我们使用其 onReceive 子句同时从两者接收: 当通道关闭…
【译】kotlin 协程官方文档(8)-共享可变状态和并发性
可以使用多线程调度器(如 Dispatchers.Default)并发执行协程,它呈现了所有常见的并发问题。主要问题是对共享可变状态的同步访问。在协程作用域中解决这个问题的一些方法类似于多线程世界中的方法,但有一些其它方法是独有的 让我们启动一百个协程,都做同样的操作一千次。我…
【译】kotlin 协程官方文档(7)-异常处理
本节讨论协程关于异常的处理和取消异常。我们已经知道,取消协程会使得在挂起点抛出 CancellationException,而协程机制会忽略这个异常。但是,如果在取消期间抛出异常,或者协程的多个子协程抛出异常,此时会发生什么情况呢? 协程构建器有两种类型:自动传播异常(laun…
【译】kotlin 协程官方文档(6)-通道
与队列不同,通道可以关闭,以此来表明元素已发送完成。在接收方,使用常规的 for 循环从通道接收元素是比较方便的 从概念上讲,close 类似于向通道发送一个特殊的 cloase 标记。一旦接收到这个 close 标记,迭代就会停止,因此可以保证接收到 close 之前发送的所…
【译】kotlin 协程官方文档(5)-异步流
可以使用集合在 kotlin 中表示多个值。例如,有一个函数 foo(),它返回包含三个数字的 List,然后使用 forEach 打印它们 上一节的代码的计算操作会阻塞运行代码的主线程。当这些值由异步代码计算时,我们可以用 suspend 修饰符标记函数 foo,以便它可以在…
【译】kotlin 协程官方文档(4)-协程上下文和调度器
协程上下文包含多种子元素。主要的元素是协程作业(Job,我们之前见过),以及它的调度器(Dispatche,本节将介绍) 协程上下文(coroutine context)包含一个协程调度器(参阅 CoroutineDispatcher),协程调度器 用于确定执行协程的目标载体,…
【译】kotlin 协程官方文档(1)-协程基础
本质上,协程可以称为轻量级线程。协程在 CoroutineScope (协程作用域)的上下文中通过 launch、async 等协程构造器(coroutine builder)来启动。在上面的例子中,