Go中go与channel的简单例子的疑惑,望高人指点

Vampire · · 1959 次点击
qkb_75_go
琴为心声
你的结果是正常的,没有异常: 1)第一个goroutine的before和after都输出了, 那是凑巧了,也可能不输出 after没有定论; 当然也可能第二个goroutine的before和after都输出了,谁知道。 2)后面的都只输出了before,而且没有after,那是因为 main()退出了。
#8
更多评论
协程还没输出 after 的时候主程序就退出了,在代码末尾加上 time.Sleep(5 * time.Second) 就可以看到了,不过正确的方法还是加上同步,参考 http://golang.org/pkg/sync/#WaitGroup
#1
您好,能结合上面的例子给具体修改一下吗?还有,为什么第一个goroutine的after输出了?不是应该阻塞的吗?
#2