Переупорядочивание NSOperationQueue

Я ищу способ переупорядочить NSOperationQueue.

Я мог отменить все операции и отбросить назад их в использовании порядка, который я хочу, но я надеялся на что-то немного более чистое. Какие-либо мысли?

9
задан mousebird 26 January 2010 в 18:14
поделиться

2 ответа

Основное различие между NSOperationQueue и лежащими в основе GCD-очереди заключается в том, что NSOperations поддерживает зависимости между операциями. NSOperationQueue не будет планировать операцию до тех пор, пока все его зависимости не будут завершены. Из доступных операций для выполнения следующей выбирается операция с наивысшим приоритетом.

Так как очередь операций может выполнять несколько операций одновременно (согласно maxConcurrentOperations), то в очереди нет строгого порядка. Гораздо лучше использовать API зависимостей или менять приоритеты операций.

Я считаю, что после добавления операции в очередь можно изменить зависимости и приоритеты.

21
ответ дан 4 December 2019 в 08:00
поделиться

Нет возможности повторно заказать операции в очереди. Если вам нужно выразить, что одна операция должна прийти за другой, используйте API зависимостей для этого.

См. Документацию NSOperationQueue Документация для получения дополнительной информации. Первые два абзаца обзора обсуждают зависимости.

6
ответ дан 4 December 2019 в 08:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: