Выбор ответа Middle context обновлено

Дедлайн потомка и родителя

Вопрос

У родителя дедлайн через 1 секунду. Создаём context.WithTimeout(parent, 5*time.Second). Когда отменится потомок?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Через 1 секунду, вместе с родителем. Потомок не может жить дольше родителя: его отмена наступит при первом из событий, отмене родителя или своём таймауте.

Варианты ответа

  1. Через 5 секунд, свой таймаут важнее
  2. Через 6 секунд, таймауты складываются
  3. Через 1 секунду, вместе с родителемправильный ответ
  4. Никогда, пока не вызвать cancel вручную

Разбор

Потомок не может жить дольше родителя: его отмена наступит при первом из событий, отмене родителя или своём таймауте. Deadline() потомка вернёт более ранний срок родителя. Таймауты не складываются.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.