Junior — Middle
Planlaşdırıcı ümumi gözləmə siyahısından goroutine-ləri necə paylayır?
sobes.tech Süni İntellekt
AI-dan cavab
Go'dakı goroutine planlayıcısı, ümumi gözləmə siyahısından goroutine'leri M:N modelinə görə paylayır; burada M, sistem axınlarının (OS axınları) sayını və N, goroutine'lərin sayını göstərir.
Əsas nöqtələr:
- Goroutine'lər icra üçün hazır olan tapşırıqların növbəsinə (icra növbəsinə) yerləşdirilir.
- Planlayıcı goroutine'ləri mövcud axınlara təyin edir.
- Əgər bir axın məşğuldursa, planlayıcı icraatı başqa bir goroutine-ə keçə bilər.
- Planlayıcı yük balansını və goroutine aclığını qarşısını almaq üçün alqoritmlər istifadə edir.
Bunu belə təsəvvür edə bilərsiniz:
for {
g := scheduler.getNextGoroutine()
m := scheduler.getAvailableThread()
m.run(g)
}
Beləliklə, planlayıcı goroutine'ləri axınlar arasında səmərəli paylayır, eyni zamanda paralel icra və yüksək performans təmin edir.