Junior — Middle
Za jakých situací dochází k automatickému přepínání provádění při použití gorutin?
sobes.tech AI
Odpověď od AI
V Go se automatické přepínání běhu mezi gorutinami v následujících situacích:
- Když gorutina zavolá funkci, která blokuje běh, například čtení z kanálu, zápis do kanálu nebo systémový volání, které blokuje vlákno.
- Při volání funkce runtime.Gosched(), která explicitně předává řízení plánovači, aby přepnul na jinou gorutinu.
- Když gorutina skončí, plánovač přepne na jinou připravenou gorutinu.
Runtime Go obsahuje plánovač, který rozděluje běh gorutin na dostupné systémové vlákna (M). Přepínání probíhá automaticky, aby se efektivně využila CPU a nezablokovalo se celé spuštění programu při čekání na operace vstupu/výstupu nebo synchronizace.