Следующие вещи - это то, что я знаю и понимаю:
Глобальная очередь - это параллельная очередь , которая может отправлять задачи на несколько потоков. Порядок выполнения задачи не гарантируется. Например ,:
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 ()
и dispatch_sync () , к какой потоке для отправки задачи или в очереди [/b], в какой поток для отправки задачи? (Этот вопрос связан с вопросом 3)
[b] Следующие вещи - это то, что я знаю и понимаю: [/b] Глобальная очередь - это параллельная очередь , которая может отправлять задачи на несколько потоков. Порядок выполнения задачи не гарантируется. Например ,: [code]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 () [/code] и dispatch_sync () , к какой потоке для отправки задачи или в очереди [/b], в какой поток для отправки задачи? (Этот вопрос связан с вопросом 3)