提交队列函数(即执行):
dispatch_async(dispatch_queue_t queue, ^(void)block):异步执行队列
dispatch_sync(dispatch_queue_t queue, ^(void)block) :同步执行队列(主线程)
获取queue函数:
dispatch_get_global_queue(long identifier, unsigned long flags):获取指定优先级的全局队列(后台线程),加入该队列的代码以并行的方式执行 Concurrent(并发)
dispatch_get_main_queue():获取主队列,该队列的代码均在主线程执行 全局串行queue
dispatch_queue_create(const char *label, dispatch_queue_attr_t attr):创建串行队列,该队列的代码在后台线程以串行的方式执行 Serial(串行)
example:
执行结果:
分析:虽然dispatch_sync执行全局队列,由执行结果得出dispatch_sync中的代码全在主线程执行(同步),所以‘串行2’在‘串行1’执行完后才执行