Kotlin Flow实现多路复用
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin Flow实现多路复用相关的知识,希望对你有一定的参考价值。
@Test
fun `test select flow`() = runBlocking<Unit>
//函数 -》 Flow<协程> -> Flow合并
val name = "guest"
coroutineScope
listOf(::getUserFromLocal, ::getUserFromLocal2).map kFunction1 -> //遍历调用
//调用反射 需要添加依赖
// implementation 'org.jetbrains.kotlin:kotlin-reflect:1.7.0'
kFunction1.call(name)
.map deferred ->
flow emit(deferred.await())
.merge() //多个flow合并成一个flow
.collect user -> //末端操作符
println(user)
以上是关于Kotlin Flow实现多路复用的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程协程中的多路复用技术 ② ( select 函数原型 | SelectClauseN 事件 | 查看挂起函数是否支持 select )
IO多路复用, 基于IO多路复用+socket实现并发请求(一个线程100个请求), 协程