Sobes.tech
Junior — Middle

Como é feita a inicialização e execução de uma nova goroutine no programa?

sobes.tech IA

Resposta da IA

No Go, uma nova goroutine é criada usando a palavra-chave go, seguida da chamada de uma função ou método. Isso cria um fio de execução leve que funciona em paralelo com o programa principal.

A inicialização e o início de uma goroutine são feitos assim:

  1. Chama-se go antes da função: go myFunction().
  2. O agendador do Go cria uma nova goroutine e a coloca na fila para execução.
  3. A goroutine começa a executar de forma assíncrona, independentemente do programa principal.

Exemplo:

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

func main() {
    go sayHello() // inicia a goroutine
    fmt.Println("Olá do main")
    time.Sleep(time.Second) // dá tempo para a goroutine terminar
}

É importante lembrar que as goroutines são muito leves em comparação com os threads do sistema operacional, e seu agendamento e troca de contexto são gerenciados pelo runtime do Go, permitindo uso eficiente dos recursos.