Выбор ответа Middle Каналы и select спрашивают часто обновлено
select с несколькими готовыми ветками
Вопрос
В select готовы сразу две ветки. Какая выполнится?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Случайная из готовых, выбор равномерный. Спецификация требует псевдослучайный равномерный выбор среди готовых веток, чтобы не было голодания.
Варианты ответа
- Первая по порядку в коде, как в switch
- Последняя по порядку, она перекрывает первую
- Случайная из готовых, выбор равномерныйправильный ответ
- Обе по очереди, сначала верхняя
Разбор
Спецификация требует псевдослучайный равномерный выбор среди готовых веток, чтобы не было голодания. Приоритета порядка нет: если нужен приоритет, делают вложенный select или сначала неблокирующую проверку важного канала. Выполняется ровно одна ветка.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.