performSelectorInBackground:...
从后台运行的方法调用的真正效果是什么?我希望它异步运行
例如:
- (void) _imageBufferWasUpdated{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//do something here
if(shouldContinue){
[self performSelectorInBackground:@selector(_loop) withObject:nil];
}
[pool release];
}
_imageBufferWasUpdated 将在后台运行,我想异步调用 _loop 方法(在后台也因此 _imageBufferWasUpdated 将很快完成,可能在 _loop 结束之前)。
它是否正确?
使用 GCD 是否有更有效(且相对简单)的方法来执行此操作?如果您能举例说明如何使用 GCD 分叉,我将不胜感激。我想我至少需要 3 个线程,主线程、运行 _imageBufferWasUpdated 的后台线程和 _loop 的其他后台线程。我对么?
提前感谢伊格纳西奥