Back to questions
Senior
5
Пишущие горутины будут заблокированы, когда что произойдёт с буфером?
Companies where asked
Cloud.ru
Answer from AI
sobes.tech AI
Пишущие горутины в Go будут заблокированы, когда буфер канала заполнен.
Если канал буферизирован, то запись в него блокируется, когда количество элементов в буфере достигает его ёмкости. Пока кто-то не прочитает из канала и не освободит место, запись будет ждать.
Пример:
ch := make(chan int, 2) // буфер на 2 элемента
ch <- 1 // записали первый элемент
ch <- 2 // записали второй элемент
ch <- 3 // здесь горутина заблокируется, пока кто-то не прочитает из ch
Таким образом, блокировка происходит при попытке записи в полный буфер.