【发布时间】:2015-09-02 00:42:25
【问题描述】:
我正在浏览 Go Bootcamp,现在正在阅读 Go Concurrency 章节。之前编程没用过并发,看不懂这个程序的输出:
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 2; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
输出:
hello
world
hello
Program exited.
有人可以解释为什么“世界”没有像“你好”那样打印两次吗?也许阐明使用并发的想法?
注意,去游乐场链接here。
【问题讨论】:
标签: concurrency go