NSOperationQueueDefaultMaxConcurrentOperationCount в дикой природе

В документах Apple говорится, что если вы установите для свойства maxConcurrentOperationCount NSOperationQueue значение NSOperationQueueDefaultMaxConcurrentOperationCount (по умолчанию), то оно будет корректировать значение во время выполнения на основе «системных условий».

Если указать значение NSOperationQueueDefaultMaxConcurrentOperationCount (что рекомендуется), максимальное количество операций может динамически изменяться в зависимости от состояния системы.

Может ли кто-нибудь сообщить, что они видят, что это значение установлено в дикой природе на разных устройствах? Мы говорим 1 или 2 для старых телефонов и 3-4 для новых моделей, или 10 или ?? Он не дает никакого представления о наборе возможностей или наиболее распространенном результате. Я думаю, что разработчикам было бы полезно знать, чего ожидать в продакшене, а не просто мы позаботимся об этом без каких-либо объяснений того, для чего они оптимизируют (отзывчивость пользовательского интерфейса, скорость выполнения операций и т. д.).


person Joel    schedule 04.05.2012    source источник


Ответы (1)


Как сказано во многих различных вариантах и ​​ресурсах (например), вы никогда не знаете, сколько потоков вы должны создать для рабочего процесса вашего приложения.

Это вопрос процессорного времени и нагрузки, сколько потоков нужно вашему приложению (потому что оно не одиноко в лесу). Итак, ответ:

  1. оптимизация по количеству ядер
  2. оптимизация под архитектуру ЦП
  3. оптимизация под текущую загрузку процессора
person art-divin    schedule 09.05.2012
comment
NSOperationQueueDefaultMaxConcurrentOperationCount иногда позволяет очереди создавать столько потоков, сколько приложению iOS становится трудно ими управлять. Я получаю SIGABRT из-за количества запущенных потоков при использовании NSOperationQueueDefaultMaxConcurrentOperationCount. НЕТ идеи, почему создается так много операций. - person dev gr; 23.10.2013
comment
@devgr попробуйте установить точки останова и удачи в отладке. Вы можете искать относительные вопросы или обращаться за помощью в новом только для ваших нужд. - person art-divin; 24.10.2013