Por lo que yo entiendo las colas GCD que no son de cola principal, son de serie por defecto solo en dispositivos con CPU de un solo núcleo. Pero si un dispositivo tiene múltiples núcleos, puede suceder que los bloques en la cola se ejecuten simultáneamente.¿Cómo crear una cola de GCD que siempre es serial, incluso en CPU multi-core?
Quiero utilizar una cola serial GCD para superar algunos problemas de simultaneidad y esta cola debe ser serial incluso si hay múltiples núcleos.
Un desarrollador mencionó que esto es posible de alguna manera. ¿Cómo crearía una cola siempre en serie?
contestado desde http://stackoverflow.com/questions/5026043/concurrency-and-serial-queues-in -grand-central-dispatch. Use dispatch_sync en su cola GCD – CSmith
@CSmith Nope. Eso es sincrónico, no serial. Si tenía una tarea asíncrona en la cola, podría ejecutarse al mismo tiempo que su bloque de sincronización. –
@CSmith también, si la cola en cuestión es una cola concurrente global, dispatch_sync es equivalente a dispatch_async, por lo que tampoco funcionaría allí. – jkh