Junior — Middle
Goroutine-lərin thread-lərə (ip) nisbətən üstünlükləri nələrdir?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da gorutinlər yüngül axınlar olub, onlar Go-nun vaxt idarəetməsi tərəfindən idarə olunur, əməliyyat sisteminin deyil. Onların ənənəvi axınlara nisbətən üstünlükləri:
- Daha az yaddaş istifadəsi: Gorutinlər bir neçə kilobayt yaddaş tuturlar, axınlar isə — megabayt.
- Tez yaradılma və keçid: Gorutinlərin başlaması və keçməsi çox daha sürətlidir.
- Sadə sinxronizasiya: Go təhlükəsiz məlumat mübadiləsi üçün kanallar təqdim edir, bu da çoxluq proqramlaşdırmasını sadələşdirir.
- Miqyaslana bilərlik: Minlərlə və hətta milyonlarla gorutin eyni vaxtda başlaya bilər.
Gorutin yaratma nümunəsi:
func sayHello() {
fmt.Println("Gorutindən salam")
}
func main() {
go sayHello() // gorutini işə salırıq
time.Sleep(time.Second) // gorutinin icrasını gözləyirik
}