Junior — Middle
Care a fost cel mai memorabil caz de utilizare a gorutinelor în experiența ta de dezvoltare?
sobes.tech AI
Răspuns de la AI
Unul dintre cele mai memorabile cazuri din practica mea cu goroutines a fost construirea unui server de înaltă performanță care procesa multiple conexiuni de rețea simultan.
Goroutines au permis lansarea ușoară și eficientă a firelor ușoare separate pentru fiecare conexiune, fără costuri semnificative asupra resurselor sistemului. Datorită acestui fapt, serverul putea deservi mii de clienți în același timp, fără a bloca firul principal.
Exemplu:
func handleConnection(conn net.Conn) {
defer conn.Close()
// procesarea conexiunii
}
func main() {
listener, _ := net.Listen("tcp", ":8080")
for {
conn, _ := listener.Accept()
go handleConnection(conn) // lansarea unei goroutine pentru fiecare client
}
}
Această abordare simplifică semnificativ codul și crește scalabilitatea aplicațiilor, în special în sarcini de rețea și concurență.