Как стать автором
Обновить

Комментарии 2

Вполне возможны ситуации, когда в приложении используется несколько сотен потоков.

Какие нахер в iOS приложении сотни потоков?

Сложный инструмент, решающий проблему, которой не должно было быть, приводит к ещё большим проблемам. Напоминает пословицу о регекспах.

Спасибо за статью!

Но поскольку Async/await использует ограниченное количество потоков, их легко занять задачами, которые блокируют поток. Поэтому для задач, блокирующих поток, лучше использовать GCD.

А не наоборот? Если "блокирует поток" в смысле sleep, то как раз async/await этот сценарий лучше обрабатывает.

Или имеются в виду тяжёлые задачки, которые начнут выполняться, и долго не закончатся, не давая выполняться другим? В этом случае ещё может помочь стратегически посыпать код Task.yield().

Зарегистрируйтесь на Хабре, чтобы оставить комментарий