DevPrep

Все темы › Swift Concurrency (async/await, акторы)

Как работает отмена (cancellation) задач?

Middle PRO

Суть

Отмена в Swift Concurrency кооперативная: task.cancel() лишь выставляет флаг и помечает все дочерние задачи в дереве. Никто ничего не прерывает — код обязан сам проверять флаг и сворачиваться. Задача, которая никогда не смотрит на Task.isCancelled, доработает до конца, как будто отмены не было.

Способы отреагировать:

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store