2011-01-14 54 views

回答

11

一个新线程每次调用创建-performSelectorInBackground:withObject:

Threading Programming Guide

使用NSObject的生成一个线程

在iOS和Mac OS X的v10.5及其更高版本,所有对象都有能力产生一个新的线程并用它来执行他们的一个方法。 performSelectorInBackground:withObject:方法创建一个新的分离线程,并使用指定的方法作为新线程的入口点。例如,如果你有一些对象(由变量MyObj中表示)和对象有一个名为DoSomething的方法要在后台线程中运行,你可以可以使用下面的代码来做到这一点:

[myObj performSelectorInBackground:@selector(doSomething) withObject:nil];

调用此方法的效果与将当前对象,选择器和参数对象作为参数调用detachNewThreadSelector:toTarget:withObject:NSThread的方法相同。新线程立即使用默认配置生成并开始运行。在选择器内部,您必须像任何线程一样配置线程。例如,你需要设置一个自动释放池(如果你没有使用垃圾收集)并且配置线程的运行循环,如果你打算使用它的话。有关如何配置新线程的信息,请参阅“配置线程属性”。

+0

官方文档通常非常有帮助。谢谢约拿。 – 2011-01-14 06:16:48

相关问题