Kotlin select 多路复用 by Channel
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin select 多路复用 by Channel相关的知识,希望对你有一定的参考价值。
@Test
fun `test select channel`() = runBlocking<Unit>
val channels = listOf(Channel<Int>(), Channel<Int>())
GlobalScope.launch
delay(100)
channels[0].send(200)
GlobalScope.launch
delay(50)
channels[1].send(100)
val result = select<Int?>
channels.forEach channel ->
channel.onReceive it
println(result)
如果修改下时间
则结果打印200
以上是关于Kotlin select 多路复用 by Channel的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程协程中的多路复用技术 ① ( 多路复用技术 | await 协程多路复用 | Channel 通道多路复用 )