Я хочу создать две последовательные очереди A и B. Где очередь B является целью очереди A. Я хочу поставить в очередь некоторые блоки на B и приостановить их, пока я не буду готов их выполнить, однако я хочу продолжить выполнение блоков в очереди A.
Если я приостановлю B, это также приостановит его целевую очередь (очередь A) ?
Я считаю, что я хочу запланировать выполнение этих конкретных блоков (в очереди B) на более позднюю (неуказанную) дату, однако я не хочу, чтобы они запускались одновременно (это касается Core Data ^ _ ^) и я не хочу иметь дело с семафорами. Но я хочу, чтобы Очередь A продолжала обрабатывать блоки, а B приостановлена
На случай, если это не ясно, вот пример кода
dispatch_queue_t queueA = dispatch_queue_create("app.queue.A");
dispatch_queue_t queueB = dispatch_queue_create("app.queue.B");
dispatch_set_target_queue( queueB, queueA );
dispatch_suspend( queueB );
/*
* Add a bunch of blocks to queue B or A
* Where the ones added to A should execute immediately
*/
//Wait till blocks on queue A have finished and start up B
dispatch_resume( queueB );
dispatch_release(queueA);
dispatch_release(queueB);