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);