了解去无缓冲的通道示例

时间:2017-11-23 04:17:34

标签: go concurrency channel

official code example

2 - blue
3 - green
7 - purple

印刷:-5,17,12

为什么不打印17,-5,12?

我认为x应为17

2 个答案:

答案 0 :(得分:1)

首先没有定义哪个值写入通道的顺序,它纯粹受调度程序的支配。正如所有示例所做的那样是添加结果,实际上并不重要的是结果会转向哪个方向。

答案 1 :(得分:0)

无法确保您的go sum(...) goroutines将以什么顺序开始,哪个将是第一个完成(并发送到频道)。