Qual é a melhor maneira de executar código em um thread separado? É isso:
[NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL];
Ou:
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(doStuff:)
object:nil;
[queue addOperation:operation];
[operation release];
[queue release];
Tenho feito da segunda maneira, mas o Wesley Cookbook que tenho lido usa a primeira.
iphone
multithreading
ios
thread-safety
Mike S
fonte
fonte
A melhor forma de multithreading no iOS é usando GCD (Grand Central Dispatch).
fonte
Eu tentaria todas as técnicas que as pessoas postaram e ver qual é a mais rápida, mas acho que essa é a melhor maneira de fazer isso.
fonte
Eu adicionei uma categoria em NSThread que permitirá que você execute threads em blocos com facilidade. Você pode copiar o código aqui.
https://medium.com/@umairhassanbaig/ios-how-to-perform-a-background-thread-and-main-thread-with-ease-11f5138ba380
fonte