并行执行两种方法

时间:2009-12-01 06:48:20

标签: iphone

我想平行执行两种方法。 我应该做什么以及如何做到这一点。 是否有可能使用NSThread?如果是,那怎么样? 等待你的回应。

坦克你

4 个答案:

答案 0 :(得分:2)

虽然您可以使用NSOperationNSThread执行此操作,但在后台执行方法的最简单方法是使用performSelectorInBackground:withObject:performSelector:onThread:withObject:waitUntilDone:modes:

// execute method1 and method2 in parallel
[self performSelectorInBackground:@selector(method1) withObject:nil];
[self performSelectorInBackground:@selector(method2) withObject:nil];

但是,我认为你需要为这些方法创建一个新的NSAutoReleasePool

一般情况下,我建议您阅读Threading Programming GuideConcurrency Programming Guide

答案 1 :(得分:0)

查看NSOperation和NSOperationQueue。 http://www.cimgf.com/2008/02/16/cocoa-tutorial-nsoperation-and-nsoperationqueue/ 那可能就是你想要的。

答案 2 :(得分:0)

请参阅: @interface NSObject(NSThreadPerformAdditions)

答案 3 :(得分:0)

可以使用NSThread,但我相信Apple正试图让人们不再创建自己的线程管理,而是转向提交可以同时运行的任务的概念。之前的海报已经提到了NSOperation和NSOperationQueue,所以我不会重复他们的答案。如果有兴趣了解更多信息,请查看iPhone开发中心的iPhone Concurrency Programming Guide