覆盖缓冲区通道超过其容量确实会产生任何影响?
由于有另一个go例程和主要的go例程没有加入它,所以这里没有死锁
package main
import "fmt"
func main() {
ch := make(chan int, 2)
go func (){
ch <- 1
ch <- 2
ch <- 4//blocks here but scheduler picked up another go routine
ch <- 6
ch <- 10
//close(ch)
}()
fmt.Println(<-ch)
fmt.Println(<-ch)
//for v:=range ch{
//fmt.Println(<-ch)//1 2 4 6 10
//}
}
万千封印
相关分类