Sobes.tech
Senior

Ի՞նչ է գորուտինան և ինչպես է այն աշխատում։

sobes.tech AI

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

Gorutina, Go լեզվում, թեթև կատարման հոսք է, որը կառավարում է Go-ի ռանթայմը, ոչ թե օպերացիոն համակարգը։ Այն թույլ է տալիս գործառույթները գործարկել զուգահեռաբար՝ նվազագույն հիշողության և կոնտեքստի փոխարկման ժամանակով։

Երբ դուք կանչում եք ֆունկցիան go բանալի բառով, ստեղծվում է նոր goroutine, որը կատարվում է միաժամանակ մյուսների հետ։ Go ռանթայմը ավտոմատ կերպով բաշխում է goroutine-ները հասանելի OS-թելների միջև։

Օրինակ՝

package main
import (
    "fmt"
    "time"
)

func sayHello() {
    fmt.Println("Բարև goroutine-ից")
}

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

Goroutine-ները արդյունավետ են կոնկուրենտ առաջադրանքների իրականացման համար՝ ինչպիսիք են հարցումների մշակումը, զուգահեռ հաշվարկները և այլն։