Sobes.tech
Senior

O que é uma goroutine e como ela funciona?

sobes.tech IA

Resposta da IA

Uma goroutine é um fio de execução leve na linguagem Go, gerenciado pelo runtime do Go em vez do sistema operativo. Ela permite executar funções em paralelo com um consumo mínimo de memória e tempo de troca de contexto.

Quando você chama uma função com a palavra-chave go, uma nova goroutine é criada, que é executada simultaneamente com outras. O runtime do Go distribui automaticamente as goroutines entre os threads disponíveis do sistema operativo.

Exemplo:

package main
import (
    "fmt"
    "time"
)

func sayHello() {
    fmt.Println("Olá da goroutine")
}

func main() {
    go sayHello() // inicia a goroutine
    time.Sleep(time.Second) // espera para que a goroutine tenha tempo de executar
}

As goroutines são eficientes para implementar tarefas concorrentes, como processamento de requisições, cálculos paralelos, etc.