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é.