Sobes.tech
Junior

Quem gerencia as goroutines na linguagem Go?

sobes.tech IA

Resposta da IA

As goroutines na linguagem Go são geridas pelo agendador interno (scheduler) do runtime Go. Este agendador é responsável por distribuir as goroutines pelos threads do sistema operativo (OS threads) e garantir a execução concorrente.

Pontos principais:

  • O agendador do Go funciona a nível de utilizador, não do núcleo do sistema operativo.
  • Alterna eficientemente entre goroutines, permitindo executar milhares de tarefas leves.
  • O programador simplesmente inicia uma goroutine com go e não gere os threads diretamente.

Exemplo de início de uma goroutine:

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

func main() {
    go sayHello() // o agendador irá lançar esta goroutine
    time.Sleep(time.Second) // para dar tempo à goroutine de executar
}