Pular para o conteúdo principal

Goroutines: o que são e como usar

O que são goroutines?

  • Goroutines são funções ou métodos executados de forma concorrente, gerenciados pelo runtime de Go (não pelo sistema operacional).
  • São extremamente leves (poucos KB de memória) comparados a threads Java (que consomem MB).
  • Criadas com a palavra-chave go antes da chamada de uma função.

Exemplo

Carregando editor interativo...

Saída (pode variar devido à concorrência)

Main: 0
Goroutine 1: 0
Main: 1
Goroutine 1: 1
Main: 2
Goroutine 1: 2

Comparação com Java

Java

  • Threads (Thread, Runnable) ou ExecutorService são mais pesados e complexos.

Go

  • Goroutines abstraem a complexidade, com o runtime gerenciando escalonamento.
Caso de uso

Goroutines são ideais para tarefas paralelas, como processar requisições HTTP ou executar cálculos independentes.