Jaki jest najlepszy sposób uruchamiania kodu w oddzielnym wątku? Czy to:
[NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL];
Lub:
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(doStuff:)
object:nil;
[queue addOperation:operation];
[operation release];
[queue release];
Robiłem drugi sposób, ale książka Wesley Cookbook, którą czytałem, używa pierwszego.
iphone
multithreading
ios
thread-safety
Mike S.
źródło
źródło
Najlepszym sposobem na wielowątkowość w iOS jest użycie GCD (Grand Central Dispatch).
źródło
Spróbowałbym wszystkich technik opublikowanych przez ludzi i zobaczył, która jest najszybsza, ale myślę, że to najlepszy sposób na zrobienie tego.
źródło
Dodałem kategorię na NSThread, która pozwoli ci z łatwością wykonywać wątki w blokach. Możesz skopiować kod stąd.
https://medium.com/@umairhassanbaig/ios-how-to-perform-a-background-thread-and-main-thread-with-ease-11f5138ba380
źródło