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