1)我正在创建一个ios应用程序,我必须扫描一个IP地址池。每个人都需要时间,所以我想在我的应用程序中实现多线程。 我即将使用线程类,但我怀疑我们可以创建多少线程simuntaneoulsy。它在developer.apple指南中提到每个线程将占用512KB内存。那么,不会让我的应用程序挂起,假设我创建了100个线程,或者可能更多那个?
2)关于线程的一个疑问:当我将同一个对象传递给所有线程时,每个线程都创建自己的对象(操作)。实际上,它们都在执行相同的任务 3)如果我去GCD(大中央调度)那么我有什么优势吗?即在这种特殊情况下会帮助我。
3)另外,最后一件事。什么是执行相似但需要同时执行的任务的最佳方式(为了提高性能)。注意: 所有这些线程都使用相同的对象方法来执行任务。
感谢和问候,如果我听起来很奇怪
答案 0 :(得分:0)
IMO,最简单的方法是在单个线程(或者是dispatch_async'd的单个块)中执行扫描,然后使用kqueue来有效地处理结果。 kqueue API需要一点时间习惯,但却是一种有效的方式来做你想要的。基本思路是: