无缓冲管道的发送和接收过程是阻塞的,还可以创建一个有缓冲(Buffer)的管道。
定义:
只在缓冲已满的情况,才会阻塞向缓冲管道(Bufferer Channel)发送数据。同样,只有在缓冲为空的时候,才会阻塞从缓冲管道接收数据。
通过向make函数再传递一个表示容量的参数(指定缓冲的大小),可以创建缓冲管道。
ch := make (chan type, capacity)
要让一个管道有缓冲,上面语法中的capacity应该大于0。无缓冲管道的容量默认为0.
示例一: