Junior — Middle
Goroutine-ləri ənənəvi tətbiq iplikləri ilə müqayisədə daha effektiv edən nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Go'da gorutinlər ənənəvi ipərlərlə müqayisədə bir neçə əsas xüsusiyyətə görə daha səmərəlidir:
- Yüngüllük: Gorutinlər çox az yaddaş tutar (adətən təxminən 2 KB yığın), halbuki sistem ipləri çox daha çox yaddaş tələb edir.
- Dil səviyyəsində planlayıcı: Go özünün gorutin planlayıcısına malikdir, bu da onların sistem ipləri üzərində səmərəli paylanmasını təmin edir və minlərlə gorutini eyni vaxtda işlətməyə imkan verir, böyük xərclər olmadan.
- Tez yaradılma və kontekst dəyişimi: Gorutinlərin yaradılması və arasında keçid çox daha sürətlidir, bu da çoxlu tapşırıq xərclərini azaldır.
Gorutin yaratma nümunəsi:
func sayHello() {
fmt.Println("Gorutindən salam")
}
func main() {
go sayHello() // gorutini işə sal
time.Sleep(time.Second) // gorutinin icrasını gözlə
}