Junior — Middle
V ktorých prípadoch jedna gorutina ukončí vykonávanie a odovzdá riadenie inej?
sobes.tech AI
Odpoveď od AI
V Go, gorutina ukončuje vykonávanie a prenáša riadenie na inú gorutinu v nasledujúcich prípadoch:
- Keď gorutina výslovne volá funkciu, ktorá ju blokuje (napríklad čítanie z prázdneho kanála).
- Pri použití kľúčového slova
runtime.Gosched(), ktoré dobrovoľne odovzdáva procesor iným gorutinám. - Keď gorutina ukončí svoju funkciu (vráti sa z funkcie), prestáva sa vykonávať.
Plánovač gorutín v Go automaticky prepína medzi gorutinami, zabezpečujúc konkurencieschopnosť. Napríklad, pri blokovaní na operáciách vstupu/výstupu alebo pri čakaní na dáta z kanála, aktuálna gorutina je pozastavená a riadenie je prevedené na inú.