Junior — Middle
Šta se dešava ako izvršite zapis u kanal čiji je bafer potpuno popunjen?
sobes.tech АИ
Одговор од АИ
У Go, ако покушате да напишете вредност у канал са пуњењем, који је у потпуности попуњен, операција писања ће се блокирати док се не ослободи место у каналу (односно, док не неко не прочита из канала). Ово обезбеђује синхронизацију између горутин и спречава губитак података.
Пример:
ch := make(chan int, 2) // буфер од 2 елемента
ch <- 1
ch <- 2
// ch <- 3 // овде ће писање бити блокирано док не неко не прочита из ch