在后台运行并行任务

时间:2012-08-23 11:47:26

标签: iphone objective-c nsoperationqueue

我正在使用NSOperationQueue来运行任务。我在我的应用程序中使用后台处理。但是在NSOperationQueue中添加任务时,我发现任务将以队列格式添加。

  1. NSOperationQueue是否执行并行任务或顺序任务处理?
  2. 如果不是并行,那么如何在我的应用程序中实现并行任务操作?

4 个答案:

答案 0 :(得分:0)

我建议您阅读this。您的相关信息是:

  

操作队列与系统一起使用,将并发操作的数量限制为适合可用内核和系统负载的值。

     

虽然NSOperationQueue类是为并发执行操作而设计的,但是可以强制单个队列一次只运行一个操作。 setMaxConcurrentOperationCount:方法允许您配置操作队列对象的最大并发操作数。将值1传递给此方法会导致队列一次只执行一个操作。虽然一次只能执行一个操作,但执行顺序仍然基于其他因素,例如每个操作的准备情况及其分配的优先级。

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以使用“performSelectorInBackground”方法执行并行任务。在这里,您只是显示前台任务,同时后台任务正在进行中。我已在以下链接中回答,请按照下面给出的链接和已接受的答案。也许它会对你有所帮助。

http://[stackoverflow.com/questions/8725636/cant-get-the-activity-indicator-to-show-on-iphone-app/8725875#8725875][1]

谢谢!

问候! 哈立德乌斯曼

答案 3 :(得分:0)

使用setMaxConcurrentOperationCount:设置并发操作数。