在GCD中,串行队列中的所有任务都保证在同一个线程中运行吗?

时间:2013-10-10 15:35:07

标签: ios objective-c grand-central-dispatch

在GCD中,串行队列中的所有任务(例如主队列)都保证在同一个线程中运行吗?

1 个答案:

答案 0 :(得分:6)

一般来说,对于串行队列,没有。来自the Concurrency Programming Guide

  

串行队列(也称为私有调度队列)执行一项任务   按照它们添加到队列的顺序。该   当前正在执行的任务在不同的线程上运行(可能会有所不同)   从任务到任务)由调度队列管理。

具体来说,对于主队列,是:

  

主调度队列是全局可用的串行队列   在应用程序的主线程上执行任务。 [...]因为它在您的应用程序的主要运行   线程,主队列通常用作密钥同步点   申请。