На этой странице в Mac Dev Center приведены затраты на распределение потоков, из которых можно сделать приблизительную оценку:
Стоимость ядра 1 КБ
1 МБ стека на iPhone
Время создания 90 микросекунд
В руководстве предлагается, чтобы вы попросили ОС выделить вашему приложению 50 МБ из 128 МБ ОЗУ, если вы создали 50 потоков:
Пространство для этой памяти выделено
в вашем пространстве процесса в потоке
время создания, но фактические страницы
связанные с этой памятью не
созданы, пока они не нужны
Это кажется большой суммой - и это сообщение в блоге в некоторых деталях говорит о том, что если вы попытаетесь использовать более 46 Мб оперативной памяти, ваше приложение зависнет, а затем будет убито 5-10 секунд спустя ОС.
Таким образом, 15-20 потоков - это безопасное количество, но, конечно, это зависит от того, сколько памяти потребляет каждый поток в выполняемых операциях, а также от скорости выполнения потока. Память освобождается после завершения потока.