gpt4 book ai didi

Kotlin 协程 : Channel vs Flow

转载 作者:行者123 更新时间:2023-12-01 12:04:13 25 4
gpt4 key购买 nike

我最近在学习和阅读很多关于 Flow 的内容。和 Kotlin 协程。但是我仍然对何时应该使用 Flow 感到困惑。以及何时应该使用 Channel .
一开始它看起来更简单。使用热数据流? Channel .冷的? Flows .如果您需要从多个地方收听数据流,也是如此;如果是这样的话Channel是去的选择。还有很多例子和问题。
但是最近FlowChannels引入的地方,以及大量鼓励使用 Flow 的方法和类, 哪些设施改造Channels进入 Flows等等。随着每个 Kotlin 版本中出现所有这些新内容,我越来越感到困惑。所以问题是:
什么时候应该使用 Channel,什么时候应该使用 Flow?

最佳答案

对于许多迄今为止最好的工具是 Channel 的用例, Flow已成为新的最佳工具。

作为一个具体的例子,callbackFlow现在是从 3rd-party API 回调接收数据的最佳方法。这在 GUI 设置中特别有效。它将回调、 channel 和相关的接收协程耦合在同一个自包含 Flow 中实例。仅在收集流时注册回调。取消流程会自动传播到关闭 channel 和取消注册回调。您只需提供一次回调取消注册代码。

你应该看看Channel作为 Flow 的低级原语在其实现中使用。只有在意识到 Flow 之后才考虑直接使用它。不符合你的要求。

关于Kotlin 协程 : Channel vs Flow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59412793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com