Sobes.tech
Junior — Middle

Birden fazla kanaldan eşzamanlı veri okuma nasıl organize edilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde aynı anda birkaç kanaldan okuma yapmak için genellikle select operatörü kullanılır. Bu, birkaç kanaldan aynı anda beklemeye ve ilk erişilebilir olanına tepki vermeye olanak tanır.

Örnek:

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

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

select {
case msg1 := <-ch1:
    fmt.Println("ch1'den alındı:", msg1)
case msg2 := <-ch2:
    fmt.Println("ch2'den alındı:", msg2)
}

Bu şekilde, select birden fazla kaynaktan gelen verileri bloklamadan verimli bir şekilde işleme olanağı sağlar.