Junior — Middle
Quais são as vantagens de usar goroutines em comparação com threads?
sobes.tech IA
Resposta da IA
As goroutines em Go são threads leves geridos pelo runtime do Go, não pelo sistema operativo. As suas vantagens em comparação com os threads tradicionais:
- Menor consumo de memória: As goroutines ocupam alguns quilobytes de memória, enquanto os threads — megabytes.
- Criação e troca rápida: O início e a troca entre goroutines é muito mais rápido.
- Simplicidade na sincronização: Go fornece canais para trocar dados de forma segura entre goroutines, o que simplifica a programação concorrente.
- Escalabilidade: Pode-se lançar milhares e até milhões de goroutines simultaneamente.
Exemplo de criação de uma goroutine:
func sayHello() {
fmt.Println("Olá de uma goroutine")
}
func main() {
go sayHello() // inicia a goroutine
time.Sleep(time.Second) // espera para que a goroutine seja executada
}