35. Чем серийная очередь отличается от конкурентной?Теория

Дополнительные вопросы

1. Если при создании очереди не указать тип, она серийная или конкурентная?

2. Главная очередь серийная или конкурентная?

3. Создаёт ли конкурентная очередь отдельный поток на каждую задачу?

Темы

Серийная очередь выполняет одну задачу за раз и в порядке добавления. Следующая не начнётся, пока не закончится предыдущая. Конкурентная тоже забирает задачи по очереди, но несколько могут выполняться одновременно. Порядок завершения уже не совпадает с порядком постановки.

Дополнительные вопросы

1. Серийная. DispatchQueue(label:) без атрибутов создаёт серийную очередь. Конкурентная появляется только с .concurrent.

2. Главная очередь серийная. Задачи на ней идут одна за другой, на главном потоке.

3. Нет. Конкурентная очередь берёт потоки из пула. На каждую задачу свой поток не создаётся, и число одновременно работающих задач ограничено пулом, а не числом async.