Под потоком имеется ввиду поток исполнения - код, выполняемый на отдельном ядре процессора, который может быть выполнен параллельно с исполнением другого кода на другом ядре.
Очередь - это абстракция над потоками, упрощающая работу с ними, в абстракции очереди мы привязываемся не к конкретным потокам исполнения, а к очередям с разным приоритетом ( qos ) мы можем поставить задачу в очередь и выполнить ее синхронно, чтобы она дожидалась исполнение другой задачи, или ассинхронно - чтобы она выполнилась при первой возможности. GCD встроенный api для работы с очередью.