7
我想创建两个串行队列A & B.其中队列B是队列A的目标。我想排队B上的一些块,并暂停它,直到我准备好执行它们,但是我想继续执行队列A上的块。暂停调度队列暂停其目标队列吗?
如果我暂停B,这是否也暂停它的目标队列(队列A)?
我的想法是,我想安排这些特定块(在队列B)在稍后(未指定)日期执行,但我不希望它们同时运行(这涉及核心数据^ _ ^)和我不想处理信号量。但我想队列中继续处理它的块,而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);