我運行下面的Go代碼10倍:goroutine的執行時間點是多少?
package main
import (
"fmt"
"time"
)
func main() {
go fmt.Println("Hello")
fmt.Println("World")
time.Sleep(1 * time.Millisecond)
}
輸出始終是 「World
」 第一:
World
Hello
是否體現goroutine
將執行unitl存在main
程序塊?什麼是goroutine
的執行時間點?
也許有一個開銷很大的goroutine可以放在第二位。在'fmt.Println'打印'Hello \ nWorld \ n'之前1ms睡眠。 –
@Tichodroma:假設GOMAXPROCS = 1,'time.Sleep'只是將上下文切換到另一個例程。這是計劃人員樂於這樣做的這些_point_中的一個。 (請參閱:http://stackoverflow.com/questions/15771232) – tomasz