Junior — Middle
Como são implementados os cálculos paralelos na linguagem Go?
sobes.tech IA
Resposta da IA
Na linguagem Go, os cálculos paralelos são implementados usando goroutines (goroutines) e canais (channels).
As goroutines são threads leves que são iniciados com a palavra-chave go. Elas permitem executar funções de forma assíncrona e paralela.
Exemplo de execução paralela de duas funções:
func tarefa(id int) {
fmt.Printf("Tarefa %d iniciada\n", id)
// simulação de trabalho
time.Sleep(time.Second)
fmt.Printf("Tarefa %d terminada\n", id)
}
func main() {
go tarefa(1)
go tarefa(2)
time.Sleep(2 * time.Second) // para que as goroutines possam terminar
}
Os canais são usados para sincronização e transferência de dados entre goroutines, permitindo trocar informações de forma segura sem usar bloqueios.
Assim, Go fornece meios simples e eficientes para organizar cálculos paralelos.