最大线程限制?

Kev*_*ood 12 iphone multithreading objective-c

在哪里可以找到有关iPhone应用程序允许的最大线程数的文档,以及您对线程性能的体验?

谢谢!

Chr*_*s S 25

Mac开发中心的这个页面为您提供了线程分配成本,您可以从中进行估算:


iPhone上的1kb内核成本为1mb堆栈空间
创建时间为90微秒

该指南建议你要求操作系统分配你的应用程序50mb的128mb ram如果你产生50个线程:

在创建线程时,您的进程空间中会留出此内存的空间,但在需要之前不会创建与该内存关联的实际页面

这似乎是一个很大的数量 - 这篇博文详细说明如果你试图使用超过46mb的ram你的应用程序将冻结,然后由操作系统5-10秒后被杀死.

所以真正的15-20个线程是一个安全的数量,但当然这取决于每个线程在其执行的操作中消耗多少内存,以及线程完成的速度.线程完成后,内存将被释放.