可缓冲通道

    这里介绍的技术工作如下: 所有进入的请求被转发到通道里,由它来逐个处理。当通道处理完一个请求后,它就发送消息给原来当调用者说它准备处理新当请求了。因此这个通道的缓冲能力限制它能保存的并发请求数。

    这个技术用 中的代码来帮助介绍,分为四个部分。

    bufChannel.go 的第二部分代码如下:

    这个 numbers 通道的定义给它提供了存储五个整数的空间。

    上面这段代码里,我们试图放 10 个整数到 通道。然而,由于 numbers 通道只有 5 个整数的空间,您就不能把 10 个整数都存入进去。

    bufChannel.go 的其余代码如下:

    执行 产生如下输出: