附加到GCD队列

时间:2016-07-22 02:58:38

标签: objective-c grand-central-dispatch

我想知道是否有可能"追加"现有队列的东西..例如,让我说我拍了15张照片,我想按顺序处理它们,我怎样才能将照片添加到队列中?

我目前使用的是这样的东西:

dispatch_queue_t photoProcessingQueue; // Declared as IVAR

photoProcessingQueue = dispatch_queue_create("PROCESSING_QUEUE", NULL); // in ViewDidLoad

dispatch_async(photoProcessingQueue, ^{ // in Processing Method
   Processing photos..
});

所以我想我的问题是,如果队列正在处理照片,那么当我再次调用它时会发生什么?是否只是等到第一个进程完成后再默认处理下一个进程?

1 个答案:

答案 0 :(得分:0)

在您的示例中,您已创建并发队列。这意味着如果您将多个块排队,它们将并行执行,最多可达系统根据可用资源确定的一些上限。如果您将另一个块排入队列,则只要有一个空闲线程就可以执行它。