Каково максимальное количество потоков в приложении iPhone? - PullRequest
0 голосов
/ 16 марта 2012

Если я могу знать максимальное количество pthreads, создаваемых в текущей активности, я могу ограничить количество активных потоков.

Я использую поток для загрузки данных из URL-адреса и затем обрабатываю их для создания чертежа.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 16 марта 2012

Нет такого понятия, как «максимальное количество потоков», или, по крайней мере, оно не так хорошо определено.Детали реализации, память / процессор в вашем устройстве и т. Д. И т. Д. - все это влияет, но это не очень легко решить теоретически.Если вы действительно сильно хотите знать, вы должны попробовать это, создав максимально возможное количество потоков до сбоя, но вам лучше не раздвигать границы устройства.

1 голос
/ 28 августа 2013

В ios 5: 64 (возможно больше, с обходными путями, использующими разные приоритеты для потоков, Вы можете достичь до (64 * 3) -1 потоков, если вы хотите еще больше, джейлбрейк для нескольких процессов)

на скромных процессорах телефона в любом случае, я думаю, пришло время переосмыслить ваш подход, прежде чем достичь этих пределов: p

1 голос
/ 16 марта 2012

Не используйте потоки для сетевых подключений, просто у вас будет много потоков, которые не находятся в рабочем состоянии. Часть обработки, вероятно, будет ограничена ЦП, поэтому мало что можно получить, создав столько потоков. (Если только я неправильно понимаю ваш сценарий).

Используйте NSURLConnection для асинхронной загрузки, а dispatch_async для глобальной параллельной очереди для выполнения обработки. GCD будет распределять ваши задачи по пулу потоков лучше, чем вы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...