Junior — Middle
Care sunt avantajele utilizării goroutines în comparație cu firele (threads)?
sobes.tech AI
Răspuns de la AI
Gorutinele în Go sunt fire ușoare gestionate de runtime-ul Go, nu de sistemul de operare. Avantajele lor comparativ cu firele clasice:
- Consumul mai mic de memorie: Gorutinele ocupă câțiva kilobyți de memorie, în timp ce firele — megabytes.
- Creare și comutare rapidă: Pornirea și comutarea între gorutine se face mult mai rapid.
- Simplitate în sincronizare: Go oferă canale pentru schimbul sigur de date între gorutine, ceea ce simplifică programarea concurentă.
- Scalabilitate: Se pot lansa mii sau chiar milioane de gorutine simultan.
Exemplu de creare a unei gorutine:
func sayHello() {
fmt.Println("Salut din gorutină")
}
func main() {
go sayHello() // lansăm gorutina
time.Sleep(time.Second) // așteptăm pentru ca gorutina să se execute
}