Sobes.tech
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.