Sobes.tech
Junior — Middle

Za jakých okolností jedna gorutina ukončí vykonávání a předá řízení jiné?

sobes.tech AI

Odpověď od AI

V Go gorutina ukončuje provádění a předává řízení jiné gorutině v následujících případech:

  • Když gorutina explicitně volá funkci, která ji blokuje (například čtení z prázdného kanálu).
  • Při použití klíčového slova runtime.Gosched(), které dobrovolně odevzdává procesor jiným gorutinám.
  • Když gorutina ukončí svou funkci (vrátí se z funkce), přestává být vykonávána.

Plánovač gorutin v Go automaticky přepíná mezi gorutinami, zajišťujíc konkurenčnost. Například při blokování na operacích vstupu/výstupu nebo při čekání na data z kanálu je aktuální gorutina pozastavena a řízení je předáno jiné.