如何理解容量为C的通道上的第k次接收发生在该通道的第k+C次发送完成之前?



来自Channel通信

我真的不明白的是为什么第k个接收发生在k+Cth之前发送吗?为什么不第k发送k+1th发送吗?

缓冲通道的容量是可以发生的非阻塞发送到通道的数量。当你用完所有的容量(C + k)下一个发送将被阻塞,直到从通道接收,只有这样它才会完成。

如果用一些数字来改写链接中的句子,如C = 3andk = 1(为了清晰起见),它将是这样的:
"第四个发送到容量为3的通道将在第一个接收通道">后完成。

容量为C的通道的第k次接收发生在该通道的第k+C次发送完成之前。

它仅仅意味着具有容量c的通道一次只能容纳c条消息,因此发送第11条(k+c)在容量为4的信道上发送消息(c)7 (k),消息应该已经收到,否则第11次发送将被阻止,直到收到。

最新更新