ExpertiDict

Go · Essencial · Inglês · Técnico

goroutine

/ˈɡoʊ.ɹuˌtiːn/substantivo

Função executada de forma concorrente, gerenciada pelo runtime do Go e bem mais leve que uma thread do sistema; é iniciada com a palavra-chave go.

Onde usar

Aparece em todo servidor Go: cada requisição pode virar uma goroutine. Em code review, pergunte sempre quem encerra a goroutine, senão ela vira vazamento.

Em código

go func() {
  fmt.Println("em paralelo")
}()
time.Sleep(time.Second) // evita sair antes

Exemplos

We spawn one goroutine per incoming connection.

Criamos uma goroutine para cada conexão recebida.

Main returned before the goroutine could print anything.

A main retornou antes de a goroutine imprimir qualquer coisa.

Cuidado

Não é uma thread do sistema operacional: o runtime multiplexa milhares de goroutines em poucas threads.

Sinônimos

thread leve

Origem

De go, 'ir', com routine, em referência a coroutine (corrotina).

Veja também

Todos os termos de Go