ArrayBroadcastChannel:第二个订阅者不更新UI

在我的代码中,我有一个ArrayBroadcastChannel将字符串发送给两个订阅者:

val dataStream = ArrayBroadcastChannel<String>(1) ... launch(viewModelJob + CommonPool) { val reader = BufferedReader(InputStreamReader(bluetoothSocket.inputStream)) while (viewModelJob.isActive) { reader.readLine()?.let { dataStream.send(it) } } } ... launch(job + UI) { dataStream.consumeEach { if (it.isNumber()) { val coloredValue = asyncGetColoredValue().await() coloredDots.add(coloredValue) } } dataStream.consumeEach { if (it.isSampleMessage()) { //terminal string view.displayData(coloredDots) //draw a chart view.mainView.displaySnackbar("Sample Analysis Completed") } } } 

只有第一个用户处理字符串。 没有图表或快餐栏显示在字符串流的末尾。 我已经搜索并阅读了Kotlin Coroutines指南,但是我不知道如何解决这个问题。 任何帮助深表感谢。