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 athreads
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
) ouExecutorService
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.