Sobes.tech
Junior — Middle

Tam tampon doldurulmuş kanala yazma əməliyyatı həyata keçirilsə, nə baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Go-da, əgər siz tamponlu kanalın tam dolu olduğu halda ona dəyər yazmağa çalışsanız, yazma əməliyyatı kanal boş yer tapana qədər (yəni, kimsə kanaldan oxuyana qədər) bloklanacaq. Bu, goroutine-lər arasında sinxronizasiya təmin edir və məlumat itkisini qarşısını alır.

Nümunə:

ch := make(chan int, 2) // 2 elementlik tampon
ch <- 1
ch <- 2
// ch <- 3 // burada yazma, ch-dən kimsə oxuyana qədər bloklanacaq