golang 阻塞的坑

anjianliang ·
写入chan的时候,chan满了,此时写入数据会崩溃么?你上面说的“写入管道的时候,一定要保证管道没有被阻塞写否则会崩溃”这句话没理解
#1
更多评论
写入chan的时候,chan满了,此时写入数据会崩溃么?有应用场景吗 如果在一个goroutine写chan 即使满了也不会崩溃的 会被阻塞掉 测试代码: func test_chan() { c := make(chan int, 2) go func() { c <- 1 fmt.Println("c1") c <- 2 fmt.Println("c2") c <- 3 fmt.Println("c3") c <- 4 fmt.Println("c4") c <- 5 fmt.Println("c5") }() fmt.Println(<-c, <-c) time.Sleep(2 * time.Second) fmt.Println("len", len(c)) } //输出 c1 c2 c3 1 2 c4 len 2
#2