在 GO 教程中,我们有这张幻灯片:Goroutines
package main
import (
"fmt"
"time"
)
func say(s string) {
for i := 0; i < 5; i++ {
time.Sleep(100 * time.Millisecond)
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
运行此代码会产生预期的结果(“world”和“hello”交替写入屏幕 5 次)。
然而,如果我们注释掉time.Sleep(因此,"time"导入的行)并再次运行程序,我们只剩下“hello”写在屏幕上五次。
是什么让time.Sleepgoroutine 免于死亡如此重要?
慕勒3428872
相关分类