Глобальная очередь - это параллельная очередь , которая может отправлять задачи на несколько потоков. Порядок выполнения задачи не гарантируется. Например ,:
Код: Выделить всё
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), {
for (int i; i
Каждый раз, когда только одна задача отправляется в поток и выполняется. Заказ - fifo. < /P>
[b] ===== Что я запутался и не полностью понимаю ======= < /strong> < /p>
[list]
[*] Основной поток имеет nsrunloop, петлевые задачи в основной нитью. Мне интересно, какова связь между очередью отправки и цикл запуска?
Могу ли я понять это, если отправить задачу в основной потоке, nsrunloop основной потоки получите отправленную задачу и выполните ее? Создает ли система iOS/OSX автоматически не только потоки, но и создает NSRUNLOOP для каждого потока? А затем цикл прогона в каждом потоке получают отправленную задачу из глобальной очереди и выполнить его? < /p>
< /li>
Кто знает поток? Знает ли функция dispatch_async () [/list]
Подробнее здесь: https://stackoverflow.com/questions/380 ... -nsrunloop