【发布时间】:2014-05-26 04:13:48
【问题描述】:
我想知道如何排空/关闭缓冲通道,以免陷入僵局?我正在使用 range 来循环通道,但似乎虽然它们是“读取”的,但它们并没有像非缓冲通道那样被关闭。
package main
func main() {
cp := 2
ch := make(chan string, cp)
for i := 0; i < cp; i++ {
go send(ch)
}
go send(ch)
for lc := range ch {
print(lc)
}
}
func send(ch chan string) {
ch <- "hello\n"
}
【问题讨论】:
标签: concurrency go channel