我已经设置了 runtime.GOMAXPROCS(2),但是这个程序在输出一些数字时仍然挂起。我可以看到这个程序使用了高 CPU(超过 100%),但我不明白为什么 for 循环 goroutine 会使我的程序无法运行。
linux/amd64 上的 go 版本是 1.4.2,我的电脑有 4 个 CPU。
这是代码:
package main
import "fmt"
import "runtime"
import "time"
func forever() {
for {
}
}
func show() {
for number := 1; number < 999999; number++ {
time.Sleep(1000)
fmt.Println(number)
}
}
func main() {
runtime.GOMAXPROCS(2)
go show()
go forever()
for {
time.Sleep(1000)
}
}
慕神8447489
慕尼黑8549860
哔哔one
相关分类