Sobes.tech
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
}