【发布时间】:2013-03-20 20:10:40
【问题描述】:
我正在尝试并行进行一些计算。该程序的设计目的是让每个 worker goroutine 将已解决的难题的“碎片”发送回控制器 goroutine,该控制器 goroutine 等待接收并组装从 worker 例程发送的所有内容。
关闭单通道的惯用 Go 是什么?我不能在每个 goroutine 的通道上调用 close,因为那样我可能会在关闭的通道上发送。同样,没有办法预先确定哪个 goroutine 将首先完成。这里需要sync.WaitGroup吗?
【问题讨论】: