Jaki jest najlepszy sposób uruchomienia kodu w osobnym wątku? To jest:iphone ios działa w oddzielnym wątku
[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 Wesley Cookbook Czytałem wykorzystuje pierwszy.
muszę go mieć 3.0 kompatybilny :( –
Następnie kolejki pracy są prawdopodobnie następnej najlepszym rozwiązaniem. Ponadto, upewnij się, że nie jesteś nurkowanie w współbieżności zbyt szybko. Spróbuj uruchomić pisząc rzeczy jedno- W przypadku wątków i profilów sprawdź, czy potrzebujesz wielowątkowych, czy możesz zaprojektować swój kod z pojedynczym gwintem, aby był bardziej efektywny. Dla prostych zadań możesz czasami zrobić wszystko, czego potrzebujesz z performSelector: withObject: afterDelay: i unikać wszystkie problemy związane z programowaniem wielowątkowym – Jacques
Przepraszam, że wskrzesiłem to znacznie później, ale jeśli odradzam wywołanie metody z performSelector: withObject: afterDelay czy nadal muszę używać NSAutoReleasePool wewnątrz metody asynchronicznej? t magicznie wykorzystuje główną pulę wydań automatycznych, a następnie performSElector: afterDelay jest zdecydowanie szybszą opcją. –