Sobes.tech
Middle+

Goroutine nədir? O, ƏS-in iş parçacığından nə ilə fərqlənir? Kim goroutine-ləri idarə edir?

sobes.tech Süni İntellekt

AI-dan cavab

Goroutine — bu Go dilində yüngül icra axınıdır və Go-ın vaxt idarəetmə mühiti tərəfindən idarə olunur, əməliyyat sisteminin deyil. Əməliyyat sistemi axınlarından fərqli olaraq, goroutine-lər çox daha az yaddaş tutar (adətən bir neçə kilobayt yığın, dinamik olaraq böyüyə və kiçilə bilər), və onların yaradılması və kontekst dəyişməsi çox daha ucuzdur.

Əsas fərqlər əməliyyat sistemi axınlarından:

  • Goroutine-lər Go-ın vaxt idarəetmə mühiti tərəfindən planlaşdırılır və idarə olunur, əməliyyat sistemi tərəfindən deyil.
  • Bir prosesdə minlərlə və ya on minlərlə goroutine ola bilər, bu da əhəmiyyətli yüklənmə olmadan.
  • Goroutine-lər arasında kontekst dəyişməsi daha sürətlidir, çünki nüvə dəyişməyə ehtiyac yoxdur.

Goroutine-lərin idarə olunması Go-ın vaxt idarəetmə mühiti tərəfindən həyata keçirilir, öz planlayıcısı (M:N scheduler) var, çox sayda goroutine (G) ilə daha az sayda əməliyyat sistemi axını (M) arasında əlaqə qurur. Bu, sistem resurslarından səmərəli istifadə etməyə və paralel proqramlaşdırmanı sadələşdirməyə imkan verir.