【发布时间】:2018-12-23 17:42:29
【问题描述】:
我在使用带有通道的 Go 例程时遇到问题。代码如下所示:
func main() {
c := make(chan int)
var wg sync.WaitGroup
wg.Add(1)
go func (c chan int, x int) {
c <- x
fmt.Println(x)
close(c)
defer wg.Done()
}(c,10)
wg.Wait()
}
运行代码时出现此错误:
fatal error: all goroutines are asleep - deadlock!
我不明白为什么会出现这个问题。请帮我理解
【问题讨论】:
标签: go concurrency channel goroutine