Junior — Middle
Quais são as principais circunstâncias que levam à interrupção da rotina e à sua saída dos fluxos de execução?
sobes.tech IA
Resposta da IA
A goroutine em Go termina a sua execução e desaparece dos threads de execução nos seguintes casos principais:
-
A função da goroutine terminou — quando a função executada na goroutine devolve o controlo, a goroutine é considerada terminada.
-
Pânico não tratado dentro da goroutine — se ocorrer um pânico na goroutine e não for capturado com recover, a goroutine termina abruptamente.
-
O programa termina — quando o thread principal (main goroutine) termina, todas as outras goroutines também terminam.
As goroutines não terminam por si só sem a execução de uma função ou sem ocorrer um erro; vivem enquanto o código dentro delas estiver a ser executado.