Middle
Siz asinxronlik bilan ishlashga majbur bo'ldingizmi?
sobes.tech AI
AIdan javob
Ha, asinxronlik bilan ishlash odatiy amaliyot bo'lib, ayniqsa ma'lumotlarni qayta ishlash va tashqi xizmatlar bilan o'zaro aloqada bo'lganda qo'llaniladi. Go tilida, bu uchun goroutinlar va kanallar ishlatiladi, ular vazifalarni parallel bajarishga va ma'lumot oqimlarini samarali boshqarishga imkon beradi.
Goroutinlar va kanallar bilan asinxron ishlash misoli:
func processData(data []int, results chan<- int) {
for _, v := range data {
// ishlov berishni simulyatsiya qilish
results <- v * 2
}
close(results)
}
func main() {
data := []int{1, 2, 3, 4, 5}
results := make(chan int)
go processData(data, results)
for res := range results {
fmt.Println("Qayta ishlangan:", res)
}
}
Asinxronlik asosiy oqimni bloklamaslikka yordam beradi va katta ma'lumotlar hajmi yoki tarmoq so'rovlar bilan ishlashda samaradorlikni oshiradi.