我正在开发一个类似于内置照片应用的iPad应用程序。我已经使用NSThread detachNewThreadSelector来加载图像并设法将加载时间从12秒减少到6秒,仍然达不到我的预期。我怀疑,假设一个文件夹中有20个图像,创建了20个线程来加载图像。现在我正在考虑一次将它限制为5个线程,并且下一组线程应该仅在加载前5个图像之后才开始。有人可以告诉我该怎么做吗?非常感谢!
答案 0 :(得分:3)
我不会很久:你应该明确地深入研究这个example from Apple。你会看到光。
答案 1 :(得分:3)
这听起来像是NSOperationQueue的完美任务。
首先,您创建并配置NSOperationQueue,并将其保存在ivar或全局变量中。然后,使用相同的选择器,目标和对象创建NSInvocationOperation,而不是使用detachNewThreadSelector:toTarget:withObject:
,并将其添加到队列中。当线程可用时,队列将处理在后台线程池上启动操作。