package main
import (
"fmt"
"math/rand"
)
func push(c chan []int) {
var slice []int
for num, i := rand.Intn(5)+1, 0; i <= num; i++ {
slice = append(slice, rand.Intn(100))
}
c <- slice
}
func main() {
c := make(chan []int)
go push(c)
// go push(c)
x, y := <-c, <-c
fmt.Println("x:", x, "y:", y)
}
deadlock原因:
chanel缓冲里的资源只有一个,x和y竞争导致环路
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步