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