> Можно ли сделать длину канала для задач равной 10? (Go)
Уровень: senior · Роль: backend · Язык: Go · Категория: Технические вопросы
Компании: InDrive
Стек: Go
> Пример ответа
Да, в Go можно создать канал с буфером длины 10 для задач. Для этого используется встроенная функция make с указанием размера буфера. Пример:
GOtaskChannel := make(chan Task, 10)
Здесь Task - тип данных, передаваемых через канал. Буферизированный канал позволяет отправить до 10 значений без блокировки отправителя, пока буфер не заполнится. Это удобно для организации очереди задач, где продюсеры могут работать асинхронно с консьюмерами. Важно помнить, что при заполнении буфера отправка будет блокироваться до освобождения места, а при пустом канале блокируется чтение.
> Похожие задачи по Go
Зачем добавлять контекст в запросы к базе данных?
Как исправить SQL запрос, который собирает строку без контекста?
Куда попадает функция при вызове go в Go? В какую очередь?
Что происходит с паниками в Go?
> Похожие задачи по backend
Зачем добавлять контекст в запросы к базе данных?
Как исправить SQL запрос, который собирает строку без контекста?
Куда попадает функция при вызове go в Go? В какую очередь?
Что происходит с паниками в Go?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью