2010-05-04 66 views
0

每次我找到在互联网(包括苹果DOC)的例子将目标设置为自这样的:NSThread运行类

[NSThread detachNewThreadSelector:@selector(threadedTask) toTarget:self withObject:nil]; 

因为我希望做一个更复杂的任务在后台(涉及多个方法),我想创建一个名为像这类Task的:

Task *task = [[Task alloc] init]; 
[NSThread detachNewThreadSelector:@selector(main) toTarget:task withObject:nil]; 

但我不知道,怎么会来处理我Task类的实例变量?在我的方法main可以安全地调用我的类Task的方法使用[self myMethod]和修改成员变量假设我是唯一的线程访问它?

的处理线程这种方式似乎怪我,对不起,如果我的问题是愚蠢的^^

在此先感谢

回答

1

如果只有一个NSThread(包括主线程),每个Task然后是,你想做什么,就可以做什么。只要有多个线程可以同时访问某些数据,就必须提供同步。

+0

谢谢!所以我会立即尝试,然后我会接受你的答案(因为stackoverflow迫使我等待接受^^) – 2010-05-04 10:11:25