Sobes.tech
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.