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

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