想象一下,我使用detachNewThreadSelector:toTarget:withObject:
创建并执行NSThread对象。线程执行的方法可能如下所示:
- (void)search {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// perform a lengthy search here.
[pool release];
}
然后我可能会在池被释放之前使用cancel
方法在线程运行时终止线程。 NSAutoreleasePool对象会发生什么?我想它会泄漏,不是吗?
答案 0 :(得分:2)
-(void)cancel
不会强制取消,它只是要求取消。您的-(void)search
将完成。有关详细信息,请阅读“Responding to the Cancel Command”。
答案 1 :(得分:1)
我强烈推荐NSOperationQueue用于简单的并发任务。