我写了一个退出和同步队列通道预期打印如下,但没有发生,将g1或g2打印值连续按两个我知道无缓冲通道同步规则,但似乎我误解了它g1 0 g2 1 g1 1g2 1g1 2g2 2package mainimport ( "fmt")func main() { exit := make(chan struct{}) transfer := make(chan int) go func() { defer func() { close(exit) }() for i := 0; i < 20; i++ { transfer <- i fmt.Println("g1\t", i) // 1 } }() go func() { for i := 0; i < 20; i++ { <-transfer fmt.Println("g2\t", i) // 3 4 } }() <-exit}
- 2 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消