Articles of multithreading

Cómo ejecutar un process en hilo de background iOS

Quiero ejecutar una tarea después de 6 segundos en segundo plano en un hilo por separado. Utilicé este código para eso. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 6 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ [self getUnsyncNamesFromServer]; } No estoy seguro de que esto se ejecute en un hilo de background. ¿Necesito usar dispatch_async para este propósito? ¿Cuál es el mejor enfoque para […]

¿Las cerraduras son innecesarias en NSOperationQueue?

Estoy leyendo el documento Guía de progtwigción simultánea de Apple, y pienso en que OperationQueue es una serie de operaciones. El documento dice que no usamos lockings en NSOperationQueue la mayoría de los casos. Pregunta ¿Cómo implementar tareas de lectura y escritura con NSOperationQueue? ¿Cuándo usar cerraduras en NSOperationQueue?

Carga UIImage en el background Thread

¿Es posible cargar un UIImage en un subprocess de background sin causar problemas de subprocesamiento? Si no, ¿cuál es la mejor forma de hacerlo? Estoy usando iOS 8. Esta es la forma en que lo hago en este momento: dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0); dispatch_async(backgroundQueue, ^{ UIImage *image = [UIImage imageNamed: fileName]; // only update […]

Actualización de la interfaz de usuario al usar una queue de serie

Estoy usando una queue de serie para hacer un hilo de background (bloque) para el procesamiento de video. Quiero actualizar un componente de interfaz de usuario (específicamente una barra de progreso). Descubrí que mientras puedo interactuar con la interfaz de usuario, mi barra de progreso no se actualiza con llamadas a setProgress (llamado desde el […]

iOS: confusión de la function CFRunLoopRun ()

He leído sobre CFRunLoop pero aún estoy un poco confundido al respecto. Llegué a cruzar un trozo de código que me gustaría aclarar: NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:[NSString stringWithFormat:url]]]; [request setHTTPMethod:@"POST"]; [request setValue:@"application/xml" forHTTPHeaderField:@"Content-Type"]; [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; [request setHTTPBody:postData]; [[NSURLConnection alloc]initWithRequest:request delegate:self]; CFRunLoopRun(); Entonces, suponiendo que todo esto se llame al […]

CFRunLoopWakeUp no funciona?

Tengo un caso en el que parece que CFRunLoopWakeUp no funciona. Aquí está la configuration: Tengo un bucle "típico" mientras no está en el hilo principal que espera que se complete un trabajo: – (void)someFunc { self.runLoop = CFRunLoopGetCurrent(); NSLog(@"Pre loop."); while (!self.completed) { NSLog(@"In loop."); NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; [[NSRunLoop currentRunLoop] […]

¿Cuál es la mejor manera de manejar subprocesss con múltiples NSStreams?

Lo siento, pero primero tengo que dar una pequeña introducción. Tengo una class llamada MJPEGStreamer . Utiliza NSOutputStream y NSInputStream para transmitir datos MJPEG. Tendré hasta 16 de estas classs funcionando simultáneamente. Al principio, solo estaba haciendo esto en mi class principal: MJPEGStreamer *client = …; [client start]; Y en MJPEGStreamer.m : [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] […]

Realizar tareas de networking y otras tareas que requieren mucho time en segundo plano

Estoy desarrollando una aplicación de iOS basada en networking que descarga datos json del server y los procesa. Tanto la tarea de descarga como la tarea de procesamiento pueden tardar un time considerable en completarse, por lo que no quiero realizarlo en el hilo principal. Creo que hay 2 maneras de hacer esto: Realice la […]

AFNetworking AFHTTPClient AFHttpRequestOperation deadlock en POST

He estado teniendo un extraño problema donde una carga de files parece colgar sin que mi aplicación cuelgue. Estoy asumiendo que esto es una especie de interlocking dentro de AFHTTPClient, aunque podría ser mi proveedor de alojamiento (sitios de rackspace en la nube). Aquí hay algunos consejos, tenga en count que esto es raro, pero […]

NSFetchRequest devuelve datos antiguos incluso si la database se actualiza

Estoy trabajando en una aplicación Multi-threaded que utiliza Conetworkingata. Cuando guardo algunos datos en un hilo, va a la database, pero cuando bash recuperarlos de un hilo diferente una vez que los datos se guardan en la database, la request de recuperación devuelve los datos anteriores. Alguna sugerencia en como arreglar esto?