Sobes.tech
Junior — Middle

როგორ ორგანიზება გავაკეთოთ ერთდროულად მონაცემების წაკითხვას რამდენიმე არხიდან?

sobes.tech AI

პასუხი AI-სგან

Go ენაში ერთდროულად რამდენიმე არხიდან წასაკითხი ჩვეულებრივ იყენებს select ოპერატორს. ეს საშუალებას აძლევს ერთდროულად ელოდოს რამდენიმე არხს და უპასუხოს პირველს, რომელიც ხელმისაწვდომი გახდება.

მაგალითი:

ch1 := make(chan int)
ch2 := make(chan int)

go func() { ch1 <- 1 }()
go func() { ch2 <- 2 }()

select {
case msg1 := <-ch1:
    fmt.Println("მიღებული ch1-დან:", msg1)
case msg2 := <-ch2:
    fmt.Println("მიღებული ch2-დან:", msg2)
}

ამ გზით, select საშუალებას აძლევს ეფექტურად მართოს მონაცემები რამდენიმე წყაროსგან, ბლოკირების გარეშე.