DevPrep

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

Что такое структурированная многопоточность (structured concurrency)?

Middle PRO

Суть

Structured concurrency — принцип, при котором время жизни дочерних задач ограничено областью (scope), которая их создала. Родительская функция не может вернуться, пока все её дочерние задачи не завершились, не выбросили ошибку или не были отменены. Задачи образуют дерево, и по этому дереву автоматически распространяются отмена, ошибки и приоритет. В Swift структурированные конструкции — async let и withTaskGroup / withThrowingTaskGroup / withDiscardingTaskGroup. Неструктурированные — Task { } и Task.detached { }: их время жизни ни к чему не привязано.

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

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

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

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

Скачать DevPrep в App Store