Очередь (Queue) — это абстракция для управления задачами, которые должны быть выполнены. Она определяет порядок, в котором эти задачи исполняются (последовательно или параллельно) и на каком потоке.
Поток (Thread) — это единица параллельного выполнения кода в операционной системе. Очереди используют потоки для физического выполнения задач.
Основные отличия:
| Аспект | Очередь (Queue) | Поток (Thread) |
|---|---|---|
| Назначение | Управление порядком задач | Единица выполнения кода |
| Абстракция | Высокоуровневая, управление задачами | Низкоуровневая, ресурс ОС |
| Создание | Менее затратное | Более затратное, требует ресурсов ОС |
| Управление | Dispatch Queues, Operation Queues | POSIX Threads, NSThread, DispatchQueue управляет ими internally |
| Зависимость | Использует потоки для выполнения | Является исполнителем кода |