Этот вопрос проверяет понимание различий между detached и regular tasks в Swift concurrency.
Detached task не наследует контекст родительской задачи (приоритет, actor), while regular task наследует. Detached task является unstructured и требует ручного управления, while regular task привязана к scope.
В Swift concurrency задачи могут быть созданы с разной степенью связи с родителем.
1. Regular task (child task):
Наследует priority и actor context от родителя.
Автоматически отменяется при отмене родителя.
Часть structured concurrency.
2. Detached task:
Не наследует никакой context.
Must be managed manually.
Part of unstructured concurrency.
Пример:
// Regular task
Task {
// Наследует контекст
}
// Detached task
Task.detached {
// Не наследует
}