GCD中的并发与串行队列

我正在努力完全理解GCD中的并发和串行队列。我遇到了一些问题,希望有人能及时明确地回答我。

  1. 我正在阅读串行队列的创建和使用,以便依次执行任务。但是,如果发生以下情况,会发生什么情况:

    将执行以下三个块:

    • 按顺序A,B,C,因为队列是串行的

      要么

    • 同时(在并行线程上),因为我使用了ASYNC调度

    • 我创建一个串行队列

    • 我使用dispatch_async了3次(在我刚刚创建的串行队列中)分配了三个块A,B,C

  2. 我读到我可以dispatch_sync在并发队列上使用,以便一个接一个地执行块。在那种情况下,为什么甚至不存在串行队列,因为我总是可以使用并发队列,在该队列中我可以根据需要同步分发尽可能多的块?

    感谢您的任何解释!


噜噜哒
浏览 746回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP