1

想象一下,我使用detachNewThreadSelector:toTarget:withObject:. 线程执行的方法可能如下所示:

- (void)search {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    // perform a lengthy search here.

    [pool release];
}

然后我可能会使用该cancel方法在线程运行时杀死线程,然后再释放池。NSAutoreleasePool 对象会发生什么?我想它会泄漏,不是吗?

4

2 回答 2

2

-(void)cancel不强制取消,它只是请求它。您的-(void)search遗嘱将完成。有关详细信息,请阅读“响应取消命令”。

于 2010-04-26T14:39:49.893 回答
1

我强烈推荐NSOperationQueue用于简单的并发任务。

于 2010-04-26T14:50:20.300 回答