【发布时间】:2019-09-24 03:38:35
【问题描述】:
应该从切片中获取所有值,最终不会出现死锁。当我不使用 waitGroups 时,我没有收到死锁错误。 是我使用的而不是 waitGroup,这有帮助
package main
import (
"fmt"
"sync"
)
var wg sync.WaitGroup
func main() {
c := make(chan int)
a := []int{1, 3, 10, 8, 15, 23}
wg.Add(len(a))
go func(i []int) {
for _, v := range i {
c <- v
}
}(a)
go Print(c)
wg.Wait()
}
func Print(c chan int) {
for v := range c {
fmt.Println(v)
}
wg.Done()
close(c)
}
【问题讨论】: