golang怎么协调并发协程的调度
题目来源: 百度
答案:
使用channel+waitgroup协调并发的调度
func main(){
ch := make(chan int)
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
for i := 1; i < 10; i++ {
ch <- i
}
close(ch)
}()
go func() {
defer wg.Done()
for v := range ch {
fmt.Println(v)
}
}()
wg.Wait()
}