6

我很好奇 Go 语言是如何调度 goroutines 的。它是仅在通道请求和 I/O 期间切换,还是有一个周期性的协程切换循环?

4

1 回答 1

8

Go 还没有抢占式调度器,但计划在 1.2中使用。所以不,Go 不会在仅 CPU 计算期间切换上下文,仅在 I/O 期间(如果它不在寄存器中,从内存读取也被视为 I/O)。你可以在Issue 543-preemptive scheduling中阅读一些关于它的讨论。

于 2013-08-31T07:16:33.247 回答