我想平行执行两种方法。 我应该做什么以及如何做到这一点。 是否有可能使用NSThread?如果是,那怎么样? 等待你的回应。
坦克你
答案 0 :(得分:2)
虽然您可以使用NSOperation
和NSThread
执行此操作,但在后台执行方法的最简单方法是使用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 Guide和Concurrency 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。