我有一个简单的测试项目,预计在运行时打印 goroutine 调度消息。
从 Goland 配置中设置 env 是有效的。但它不是来自下面的代码,该应用程序不会打印日程安排信息。有人解释一下发生了什么吗?
func TestScheduler1() {
var wg sync.WaitGroup
wg.Add(10)
for i := 0; i < 10; i++ {
go work(&wg)
}
wg.Wait()
// Wait to see the global run queue deplete.
time.Sleep(3 * time.Second)
}
func work(wg *sync.WaitGroup) {
time.Sleep(time.Second)
var counter int
for i := 0; i < 1e10; i++ {
counter++
}
wg.Done()
}
初始化函数如下:
func init() {
os.Setenv("GOMAXPROCS", "1")
os.Setenv("GODEBUG", os.Getenv("GODEBUG") + "schedtrace=1000,scheddetail=1")
}
莫回无
相关分类