golang之缓冲管道

  无缓冲管道的发送和接收过程是阻塞的,还可以创建一个有缓冲(Buffer)的管道。

定义

  只在缓冲已满的情况,才会阻塞向缓冲管道(Bufferer Channel)发送数据。同样,只有在缓冲为空的时候,才会阻塞从缓冲管道接收数据。

  通过向make函数再传递一个表示容量的参数(指定缓冲的大小),可以创建缓冲管道。

ch := make (chan type, capacity)

  要让一个管道有缓冲,上面语法中的capacity应该大于0。无缓冲管道的容量默认为0.

示例一:

 

posted @ 2020-04-27 00:40  顽强的allin  阅读(854)  评论(0编辑  收藏  举报