Sobes.tech
Junior — Middle

Ի՞նչ առավելություններ ունեն գորուտինների օգտագործումը թելերի (threads) համեմատ։

sobes.tech AI

Պատասխան AI-ից

Go-ում գորուտինները թեթև թելեր են, որոնք կառավարում է Go-ի ժամանակավայրը, ոչ թե օպերացիոն համակարգը: Դրանց առավելությունները՝ համեմատած ավանդական թելերի.

  • Փոքր հիշողության սպառում: Գորուտինները զբաղեցնում են մի քանի կիլոբայթ հիշողություն, մինչդեռ թելերը՝ մեգաբայթներ:
  • Արագ ստեղծում և փոխարկում: Գորուտինների մեկնարկը և փոխարկումը շատ ավելի արագ է:
  • Պարզեցված սինխրոնիզացիա: Go-ն ապահովում է ալիքներ՝ անվտանգ տվյալների փոխանակման համար գորուտինների միջև, ինչը հեշտացնում է մրցակցային ծրագրավորումը:
  • Մասշտաբայնություն: Կարող եք միաժամանակ գործարկել հազարավոր կամ նույնիսկ միլիոնավոր գորուտիններ:

Գորուտինի ստեղծման օրինակ:

func sayHello() {
    fmt.Println("Բարև գորուտինից")
}

func main() {
    go sayHello() // գործարկում ենք գորուտին
    time.Sleep(time.Second) // սպասում ենք, որպեսզի գորուտինը կատարվի
}