【发布时间】:2016-04-06 22:37:10
【问题描述】:
您能否解释以下错误:致命错误:
真的
真的
所有 goroutine 都处于休眠状态 - 死锁!
package main
import (
"fmt"
)
func printer(ch chan bool) {
ch <- true
}
func main() {
var c chan bool = make(chan bool, 2)
for i := 0; i < 5; i++ {
go printer(c)
}
for i := range c {
fmt.Println(i)
}
}
【问题讨论】:
-
我没有得到相同的输出。在 1.5.2 上,它按预期打印 - 五个“真实”行然后它死锁,因为通道没有被关闭并且范围循环只是永远等待
标签: go