Sobes.tech
Назад к вопросам
Junior — Middle
79

Что происходит, если выполнить запись в канал, у которого буфер полностью заполнен?

Ответ от нейросети

sobes.tech AI

В Go, если вы пытаетесь записать значение в канал с буфером, который полностью заполнен, операция записи блокируется до тех пор, пока в канале не освободится место (то есть пока кто-то не прочитает из канала). Это обеспечивает синхронизацию между горутинами и предотвращает потерю данных.

Пример:

ch := make(chan int, 2) // буфер на 2 элемента
ch <- 1
ch <- 2
// ch <- 3 // здесь запись заблокируется, пока кто-то не прочитает из ch