Quiero configurar una cola de tareas serializada usando NSOperationQueue, pero estoy un poco confundido por la terminología discutida en la documentación.NSOperationQueue y concurrente versus no simultáneo
En el contexto de un objeto NSOperation, los términos concurrentes y no concurrente no necesariamente se refieren a la ejecución de lado a lado de hilos. En cambio, una operación no simultánea es aquella que se ejecuta utilizando el entorno que se proporciona para mientras que una operación simultánea es responsable de configurar su propio entorno de ejecución .
¿Qué significa para configurar "entorno de ejecución propia '?
Mis tareas NSOperation derivados necesidad de ejecutar en serie en el orden en que se añaden a la cola.
Así que pensé que esto implica una operación 'no simultánea' así que implementaría 'main' para el trabajo que necesita completarse y también devolvería NO para 'isConcurrent'. Además, el 'setMaxConcurrentOperationCount' de NSOperationQueue se establecería en 1.
The razón por la cual no estoy configurando la dependencia NSOperation y entre estas tareas es porque el orden en que se insertan en la cola es el orden en que deben completarse.
¿Son estas suposiciones correctas?
No necesariamente tienen que utilizar las dependencias si setMaxConcurrentOperationCount en su NSOperationQueue a 1. En mi experiencia, que procesa las operaciones en el orden en que se añaden a la cola. Sin embargo, puede configurar las dependencias solo para estar seguro. –
El documento establece que establecer la cuenta máxima en 1 solo no garantiza la orden FIFO. NSOperationQueue también tiene en cuenta las prioridades y algunas otras cosas para determinar el orden. –