我可能想得太多了。
// Inside some method...
NSThread *thread = [[NSThread alloc] initWithTarget:functionWrapper selector:@selector(run) object:nil];
[thread start];
此后调用
[thread release]
:A.避免内存泄漏,这是有必要的,或者... B.会破坏事物。this question的答案表明,线程将在执行完毕后释放自身,但是该行为记录在哪里?
最佳答案
是的,您将需要在一段时间后通过自动发布或发布来发布它。
但是,您实际上并不需要一开始就初始化自己的线程,objective-c提供了很多方法来实现线程化而无需自己分配新线程,例如
[self performSelectorInBackground:@selector(yourMethod) withObject:nil];
也有NSOperation,您也可以将任务排队。
关于objective-c - 我应该释放我创建的NSThread吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514739/