一道经常考的面试题

fox_lin ·
``` func main() { runtime.GOMAXPROCS(1) var wg sync.WaitGroup for i := 0; i < 1000; i++ { wg.Add(1) go func(p int) { fmt.Println(p) wg.Done() }(i) } wg.Wait() } ``` 将循环改为 1000 后,输出也是固定的,但是顺序很乱,求大佬解惑 ``` //我的输出最后如下 75 76 77 131 78 79 80 81 ... 768 769 770 771 901 ```
#8
更多评论
“每个goroutine生成后,在P的本地G队列未满的时候,是依次加入到P的本地G队列里的” 这句话中的P、G含义?
#1
P是逻辑处理器P0 G是程序中开的协程吧?
#2