没有缓存的channel 为啥没有阻塞

XITEHIP · · 829 次点击
可能说的不太准确,应该是在 <-c 执行之前 会被阻塞在此处 go func c <- 1
#3
更多评论
不带缓冲区的chan 会看是否有因为读该chan而阻塞的goroutine,有可以正常写,如果没有就会阻塞。很明显,fmt.Printf("channel output:%d\n", <- c) 这段代码运行之后 go func() { ... 才执行,所以不会阻塞
#1
<a href="/user/soki" title="@soki">@soki</a> 谢谢你
#2