Ответ
Конструктор OperationQueue() создает параллельную (concurrent) фоновую очередь.
Ключевые характеристики по умолчанию:
- Тип: Concurrent (параллельная). Операции могут выполняться одновременно, если нет зависимостей.
- Поток: Фоновый (не главный).
- Максимум операций (
maxConcurrentOperationCount): Устанавливается в-1, что позволяет системе определять оптимальное количество параллельных задач на основе числа ядер и текущей загрузки системы. - Качество обслуживания (
qualityOfService):.background(низкий приоритет).
Пример и управление:
let queue = OperationQueue()
// Делаем очередь последовательной (serial)
queue.maxConcurrentOperationCount = 1
// Повышаем приоритет очереди
queue.qualityOfService = .userInitiated
Почему не serial? Параллельная очередь по умолчанию лучше использует ресурсы многоядерных процессоров для независимых задач.