Карточка Middle Корутины и structured concurrency обновлено

Правила structured concurrency

Вопрос

Какие три правила дают structured concurrency?

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

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

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

Коротко

1) Родитель ждёт завершения всех детей. 2) Отмена родителя отменяет всех детей.

Ответ

  1. Родитель ждёт завершения всех детей. 2) Отмена родителя отменяет всех детей. 3) Ошибка ребёнка (кроме CancellationException) отменяет родителя и остальных детей (в обычном Job; SupervisorJob это меняет). Итог: корутины не теряются, их жизнь ограничена scope.

Разбор

  1. Родитель ждёт завершения всех детей. 2) Отмена родителя отменяет всех детей. 3) Ошибка ребёнка (кроме CancellationException) отменяет родителя и остальных детей (в обычном Job; SupervisorJob это меняет). Итог: корутины не теряются, их жизнь ограничена scope.

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

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