知识卡片

Channel解除阻塞

专业/工作 · 470.b.1.a.1.c.3.a.8.e.1

内容

channel 的发送、接收和关闭都能作为 goroutine 间同步信号。发散:channel 传的不只是数据,也可以是时机和所有权。通信语义的完整讨论见[[Channel表达通信]]。

参考来源

- 位置:《Go语言入门到实战(共3册)》第33章《Go语言学习笔记:第8章 并发》(源文件:_epub-src/text/part0077.html) - 结论依据:原文围绕“写入数据也可解除阻塞”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:in exit.") } 输出: main ... goroutine done. main exit. 除关闭通道外,写入数据也可解除阻塞。channel的更多信息,后面再做详述。 如要等待多个任务结束,推荐使用sync.WaitGroup。通过设定计数器,让每个goroutine在退出前递减,直……