🟢 Лёгкий · 1 очк. Context
Что произойдёт с дочерними контекстами при отмене родительского?
A Ничего, они независимы
B Все дочерние тоже отменятся
C Только прямые дочерние отменятся
D Дочерние контексты отменят родительский
Объяснение вопроса

Контексты образуют дерево. Отмена родительского контекста каскадно отменяет все дочерние (созданные через WithCancel, WithTimeout, WithValue от этого контекста). Обратное неверно: отмена дочернего не влияет на родительский.

Пример

parent, cancelParent := context.WithCancel(context.Background())
child, _ := context.WithTimeout(parent, time.Second)
cancelParent()  // child тоже отменён, ctx.Done() закрыт

Так можно отменить целое поддерево операций (например, все запросы в рамках HTTP-обработчика).

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.