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-ները արդյունավետ են կոնկուրենտ առաջադրանքների իրականացման համար՝ ինչպիսիք են հարցումների մշակումը, զուգահեռ հաշվարկները և այլն։