2015-09-14 6 views
0

Я не мог угадать его вывод.dispatch_Async serial queue

dispatch_async(serial_queue,^{NSlog(@"1");}); 

NSlog(@"2"); 

dispatch_async(serial_queue,^{NSlog(@"3");}); 

NSlog(@"4"); 

AFAIK

Выход

Но я не уверен!

Может кто-нибудь объяснить, если я ошибаюсь!

+0

выход должен быть теоретически непредсказуемым, так как нет никакой гарантии, когда блоки асинхронных выполнит ... но я думаю, может быть эти асинхронные блоки выполняются слишком быстро, чтобы заказ всегда отличался. – Fonix

+0

Должен быть какой-то ответ! потому что вопрос был брошен на меня в письменном опросе IOS – NaveenKumar

ответ

1

Хотя чередование операций может быть неизвестно, вы можете видеть, что есть два потока. Первый - это регистрация из последовательной очереди, другая - просто NSLog.

Что вы можете сказать о том, что для того 1 будет предшествовать 3 и 2 будет предшествовать 4

 Смежные вопросы

  • Нет связанных вопросов^_^