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