Gorutina nədir? Sistem ipindən necə fərqlənir? Go (GMP) planlayıcısı haqqında danış.
sobes.tech Süni İntellekt
AI-dan cavab
Goroutine — bu Go dilində yüngül icra axınıdır və Go çalışma vaxtı tərəfindən idarə olunur, əməliyyat sistemi tərəfindən deyil. Sistem iplarından fərqli olaraq, goroutine-lərin yığın ölçüsü çox kiçikdir (bir neçə kilobaytdan başlayır və dinamik olaraq artmağa qadirdir), bu da minlərlə və hətta milyonlarla goroutine-i eyni vaxtda aşağı xərclərlə işlətməyə imkan verir.
Sistem ipləri əməliyyat sistemi tərəfindən yaradılır və planlaşdırılır, sabit böyük yığınlara malikdir və kontekst dəyişdirmə əməliyyatları daha bahalıdır.
Go planlayıcısı GMP modelinə əsaslanır:
- G (goroutine) — özüdür, icra vahidi.
- M (maşın) — sistem ipi (OS ipi), burada goroutine-lər icra olunur.
- P (prosessor) — məntiqi prosessor, M-də goroutine-i icra etmək üçün lazım olan resurs.
P, icraya hazır goroutine-lərin (G) növbəsini idarə edir. M yalnız bir goroutine-i eyni vaxtda icra edə bilər, lakin çox sayda M və P-nin mövcudluğu ilə planlayıcı goroutine-ləri sistem ipləri arasında səmərəli paylayır, rəqabət və paralelliyi təmin edir.
Bu yanaşma Go-nun sistem resurslarından səmərəli istifadə etməsinə və çoxprosessorlu sistemlərdə miqyaslana bilməsinə imkan verir.