以下代码在https://play.golang.org/p/X1-jZ2JcbOQ
package main
import (
"fmt"
)
func p(s string) {
fmt.Println(s)
}
func main() {
go fmt.Println("1")
go p("2")
for {} // infinite loop
}
使用 golang 1.11 在 Windows 中肯定打印 1 2 但在使用 golang 1.11.4 的 Linux 中绝对不打印任何内容。我能理解前者的行为,但不能理解后者。为什么go程序不是一直运行非主线程?
这背后有什么原因吗?
人到中年有点甜
相关分类