Junior — Middle
Qual foi o caso de uso mais memorável de goroutines na sua experiência de desenvolvimento?
sobes.tech IA
Resposta da IA
Um dos casos mais memoráveis na minha prática com goroutines foi a construção de um servidor de alto desempenho que processava múltiplas ligações de rede simultâneas.
As goroutines permitiram lançar de forma fácil e eficiente threads leves separados para cada ligação sem custos significativos em recursos do sistema. Graças a isso, o servidor podia atender milhares de clientes ao mesmo tempo, sem bloquear o thread principal.
Exemplo:
func handleConnection(conn net.Conn) {
defer conn.Close()
// processamento da ligação
}
func main() {
listener, _ := net.Listen("tcp", ":8080")
for {
conn, _ := listener.Accept()
go handleConnection(conn) // lançar goroutine para cada cliente
}
}
Esta abordagem simplifica bastante o código e aumenta a escalabilidade das aplicações, especialmente em tarefas de rede e concorrentes.