Junior — Middle
Tapşırıqların icrası kontekstində, goroutine və sistem ipi arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Gorutina — bu Go (runtime) tərəfindən idarə olunan yüngül icra vahididir, çox az yaddaş istifadə edir və eyni zamanda çox sayda işə sala bilər. Sistem ipi (thread) isə əməliyyat sisteminin daha ağır planlaşdırma vahididir.
Əsas fərqlər:
- Gorutinalar, sistem iplərindən çox daha yüngüldür.
- Gorutinaların planlaşdırılması Go runtime daxilində həyata keçirilir, OS tərəfindən deyil.
- Minlərlə gorutina eyni zamanda işləyə bilər, halbuki sistem iplərinin sayı adətən daha azdır, çünki yaradılması və keçid üçün xərclər var.
Gorutina yaratma nümunəsi:
func tapşırıq() {
fmt.Println("Tapşırıq yerinə yetirilir")
}
func main() {
go tapşırıq() // gorutina başlat
time.Sleep(time.Second) // gorutinanın tamamlanması üçün gözləyirik
}
Beləliklə, gorutinalar çox sayda tapşırığı səmərəli şəkildə paralel icra etməyə imkan verir, az xərclə.