Каков реальный эффект вызова 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. Я прав?
Заранее спасибо
Игнасио