上一篇提到了如何创建dispatch queue,这篇记录一下如何获取系统标准提供的dispatch queue。
系统提供的Dispahch queue包括 Main Dispatch Queue和Global Dispatch Queue
Main Dispatch Queue:
这是在主线程中执行的Dispatch Queue,是一个Serial Dispatch Queue。追加到这个Dispatch Queue中的任务在主线程的Run Loop中执行。所以用户界面更新的操作必须在 Main Dispatch Queue 中进行。
/*
Main Dispatch Queue 的获取方法
*/
dispatch_queue_t mainDispatchQueue = dispatch_get_main_queue();
Global Dispatch Queue:
这是一个Concurrent Dispatch Queue,开发中一般没有必要通过生成的方式,直接采用Global Dispatch Queue就可以。
Global Dispatch Queue包括四个优先级:High Priority,Default Priority,Low Priority,BackGround Priority。他们通过XNU内核的管理用于Global Dispatch Queue的线程。但是优先级的确认只是一个大致的判断,开发中可根据任务的重要性,选择追加,但是不能精确控制。
/*
Global Dispatch Queue 的获取方法
*/
dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0);
dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);