Junior — Middle
Co se stane s tokem provádění, když se jeho fronta vyprázdní?
sobes.tech AI
Odpověď od AI
V jazyce Go, když je fronta běžících vláken (goroutine) prázdná, znamená to, že daná goroutine již nemá žádné úkoly k vykonání. Pokud goroutine dokončila svou práci, jednoduše odejde a uvolní zdroje.
Pokud jde o plánovač Go (scheduler), když je fronta goroutine prázdná, přepne na jiné dostupné goroutine nebo, pokud žádné nejsou, čeká na nové úkoly. Výkon se nezablokuje navždy, ale přejde do stavu čekání nebo skončí, pokud již nejsou žádné aktivní goroutine.
Takže prázdná fronta znamená, že aktuální goroutine buď skončila, nebo čeká na nové úkoly, a plánovač přepne na jiné aktivní goroutine.