问答详情
源自:5-6 Go语言-通道的更多种类

这题目是不是出的有点问题?

因为打印的顺序是不确定的,所以正确的评判只是凭借其偶然性,并行的特性在于代码执行流的切换,而这里两个并发线程中的打印语句执行时随时都可以切换,没有限制。

提问者:银冰雪千载 2018-11-11 19:10

个回答

  • 慕圣2123299
    2018-11-12 14:17:52

    因为非缓冲通道不会缓存任何数据,发送方在向通道值发送数据的时候会立即被阻塞,直到有某一个接收方已从该通道值中接收了这条数据。所以myChannel应定义为非缓冲通道,才会在执行接收之后再执行发送的结果。