Sobes.tech
Junior — Middle

რა ხდება, თუ ჩაწერას განახორციელებთ არხში, რომლის ბუფერი სრულად არის სავსე?

sobes.tech AI

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

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