通道具有两个功能,可让我们向其中发送事件。Send和offer。
Send
offer
我想更好地理解两者之间的区别。
我有一些要核对的陈述是正确的。
send
如果您知道其他主要区别,我将很高兴知道。
提前感谢
[send暂停在发送到的通道已满时调用它的协程。
send不发送来自一个通道至另一个通道。调用send时,正在发送元素to通道。然后,通道期望另一个代码块从其他协程调用send。
在receive中,容量为RendezvousChannel。这意味着0总是挂起,等待来自其他协程的send调用。如果在receive上调用了send,然后使用RendezvousChannel,则offer不会引发异常(仅在关闭通道的情况下会引发异常),但是如果没有平衡,则它将返回offer。初始offer之后,已在false上调用了C0。这是因为receive会尝试在不违反其容量限制的情况下立即将元素添加到通道中。
receive
RendezvousChannel
0
false