Возможно, имелась в виду кооперативная отмена задач в Swift. 1 Некоторые особенности такой структуры:
- Задача не останавливается сама при отмене. 1 Она должна проверять свой собственный статус отмены в разумные сроки, независимо от того, является ли она асинхронной или нет. 1
- Основная задача может завершить свою работу только в том случае, если завершены все её дочерние задачи. 1 Это правило обеспечивает гарантию того, что задачи всегда будут завершаться — либо успешно, либо путём отмены, либо путём вывода ошибки. 1
- Дочерние задачи автоматически отменяются при отмене родительской. 2
- Есть возможность динамического добавления дочерних задач. 4 Они могут выполняться параллельно или последовательно, но группа задач будет отмечена как завершённая только после выполнения всех дочерних задач. 4