¿Cuál es la mejor manera de ejecutar código en un hilo separado? Es:iphone ios ejecutándose en un hilo separado
[NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL];
O:
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(doStuff:)
object:nil;
[queue addOperation:operation];
[operation release];
[queue release];
que he estado haciendo el segundo camino, pero el libro de cocina Wesley He estado leyendo utiliza el primero.
necesito que sea compatible con 3.0 :( –
Entonces colas de operación son, probablemente, el siguiente mejor solución. Además, asegúrese de que usted no es el buceo en concurrencia con demasiada rapidez. Trate de comenzar escribiendo cosas de un solo Enhebrado y perfil para ver si necesita ir multiproceso, o si puede diseñar su código de subproceso único para ser más eficiente por sí mismo. Para tareas simples, a veces puede hacer todo lo que necesita con performSelector: withObject: afterDelay: y evitar todos los problemas que vienen con la programación de subprocesos múltiples – Jacques
Perdón por resucitar esto mucho más tarde, pero si genero una llamada a un método con performSelector: withObject: afterDelay ¿todavía necesito usar un NSAutoReleasePool dentro del método async? Si t usa mágicamente el grupo principal de versiones automáticas luego el performSElector: afterDelay es definitivamente una opción más rápida. –