
协程
文章平均质量分 85
咸鱼谈何梦想
这个作者很懒,什么都没留下…
展开
-
Kotlin协程Channel使用
一、Channel 1、定义 Flow是冷流,本质上可以说是一个单线程操作,只有开始收集时,上流代码才会启动;而Channel是一个并发安全的队列,可以用来连接不同的协程,实现不同协程之间的通信。 2、基本使用 runBlocking { val channel = Channel<Int>() GlobalScope.launch(Dispatchers.IO) { channel.send(10) delay(1000)原创 2021-12-29 15:20:11 · 1487 阅读 · 0 评论 -
Kotlin协程Flow使用
一、冷流Flow 1、基本概念 Flow 能够返回多个异步计算的值 Flow 就是 Kotlin 协程与响应式编程模型结合的产物,与Rxjava非常像,Flow 提供了很多丰富的操作符,例如 map、fliter、count 等等,相比 Rxjava ,Flow 的使用和线程切换更为简单 冷数据流Flow与热数据流Channel更好相反,Flow是不消费则不生产 2、创建 // 方式一 flow<String> { emit("Hello") delay(5000)原创 2021-12-01 14:53:31 · 3333 阅读 · 0 评论 -
Kotlin协程基础
1、协程基本概念 协程就像非常轻量级的线程。 协程让异步逻辑同步化,杜绝回调地狱,代码逻辑非常简洁易懂 相对于线程切换是由操作系统进行调度的,程序员无法进行控制。 而协程的调度是由程序员在代码层面上进行控制的,程序员可以通过控制suspend函数的挂起和恢复,从而控制程序运行流程 2、协程挂起与恢复 挂起(suspend),用于暂停执行当前协程,并保存所有局部变量 恢复(resume),用于让已暂停的协程从其暂停处继续执行 挂起函数,被suspend修饰的函数称为挂起函数;挂起函数只原创 2021-11-18 19:33:09 · 2662 阅读 · 0 评论