начинает выполнять следующую?
Он уже ничего не делает
А посмотри кстати код ради интереса. Мне тоже интересно
func goschedImpl(gp *g) { status := readgstatus(gp) if status&^_Gscan != _Grunning { dumpgstatus(gp) throw("bad g status") } casgstatus(gp, _Grunning, _Grunnable) dropg() lock(&sched.lock) globrunqput(gp) unlock(&sched.lock) schedule() } // Gosched continuation on g0. func gosched_m(gp *g) { if trace.enabled { traceGoSched() } goschedImpl(gp) } func Gosched() { checkTimeouts() mcall(gosched_m) }
Видишь, таки нет
Значит передумали делать его no-op
Обсуждают сегодня