【发布时间】:2020-09-16 05:31:51
【问题描述】:
Channels 有两个函数可以让我们向它发送事件。
Send 和 offer。
我想更好地了解两者之间的区别。
我想检查一些陈述是否属实。
-
Send是一个挂起函数。什么会让我的代码(不是线程)等待它完成。所以它在send内的事件完成/取消后继续运行。或者它只会在我可以将事件排队/接收之前暂停? - 这意味着,如果我从一个通道到另一个通道使用
send,第一个通道将被阻塞,直到第二个通道可以接收/排队? - 如果我有一个 Rendezvous 频道并且它已经在运行某些东西(例如暂停,等待 API)并且我
offer一个新的偶数。这会让offer抛出异常?是因为频道收不到吗?
如果您知道任何其他主要区别,我会很高兴知道。
提前致谢
【问题讨论】:
标签: kotlin channel kotlin-coroutines kotlin-coroutine-channel