Junior — Middle
Bufferlenmemiş bir iletişim kanalı aracılığıyla veri iletimi nasıl gerçekleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da tamponlamayan bir kanal aracılığıyla veri aktarımı senkroniktir: Gönderici, alıcı verileri okumadan önce bloklanır ve tersi de geçerlidir. Bu, goroutine'ler arasında doğrudan senkronizasyon sağlar.
Örnek:
ch := make(chan int) // tamponlamayan kanal
// Gönderici
go func() {
ch <- 42 // alıcı okumadan önce bloklanır
}()
// Alıcı
val := <-ch // değer görünene kadar bloklanır
fmt.Println(val) // 42 yazdırır
Bu şekilde, veriler doğrudan, ara depolama olmadan iletilir ve gönderici ile alıcı arasında senkronizasyon garanti edilir.