知识卡片
有缓冲通道解耦节奏
内容
有缓冲通道允许发送方在缓冲未满前继续执行,削弱发送和接收的同步强度。发散:缓冲大小是在表达生产者和消费者之间允许积压多少。相较[[无缓冲通道同步交接]],有缓冲通道牺牲了部分同步保证来换取吞吐。
参考来源
- 位置:《Go语言实战》第6章《并发》(源文件:_epub-src/OEBPS/Text/part0016.xhtml)
- 结论依据:原文围绕“有缓冲的通道”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的 Go 语言/工程结论,并补充边界或实践启发。
- 原始内容:= make(chan string, 10) 在代码清单6-17中,可以看到使用内置函数 make 创建了两个通道,一个无缓冲的通道,一个有缓冲的通道。 make 的第一个参数需要是关键字 chan ,之后跟着允许通道交换的数据的类型。如果创建的是一个有缓冲的通道,之后还需要在第二个参数指定这个通……