一句话知识点:runtime.Gosched
如果想死循环且不希望被阻塞,同时其他 goroutine 依然可以运行,可以使用runtime.Gosched
:
func main() {
go func() {
//这里是goroutine代码
}()
for {
runtime.Gosched
}
runtime.Gosched 用于让出 CPU 时间片给其他 goroutine,如果没有任务要执行,继续下次循环。