Middle
Go'dagi goroutinlar haqida gapirib bering
sobes.tech AI
AIdan javob
Gorutinlar — bu Go tilida yengil bajarish oqimlari bo‘lib, ular funksiyalarni kam xotira va vaqt sarfi bilan parallel ravishda ishga tushirish imkonini beradi. Ular Go runtime tomonidan boshqariladi, operatsion tizim emas, bu ularni an'anaviy oqimlarga nisbatan samaraliroq qiladi.
Gorutinni ishga tushirish uchun go kalit so‘zi funksiyadan oldin ishlatiladi:
func sayHello() {
fmt.Println("Goroutinadan salom")
}
func main() {
go sayHello() // gorutinani ishga tushiradi
time.Sleep(time.Second) // gorutinaga bajarilishi uchun vaqt beramiz
}
Gorutinlar kanallar yordamida sinxronlashtirish va ma'lumot almashishni amalga oshiradi, bu esa aniq blokirovkalar bo‘lmasdan konkurent kod yozishni soddalashtiradi.
Asosiy afzalliklari:
- Yaratuvchi va kontekst o‘zgartirish uchun juda past xarajatlar.
- Kanallar orqali sinxronlashtirish oson.
- Ko‘p protsessorli tizimlardan samarali foydalanishga imkon beradi.