dispatch_queue_t q = dispatch_get_global_queue(longidentifier, unsignedlongflags);
参数类型为:
long identifier:ios 8.0 告诉队列执行任务的“服务质量 quality of service”,系统提供的参数有:
QOS_CLASS_USER_INTERACTIVE 0x21,用户交互(希望尽快完成,用户对结果很期望,不要放太耗时操作)
QOS_CLASS_USER_INITIATED 0x19,用户期望(不要放太耗时操作)
QOS_CLASS_DEFAULT 0x15,默认(不是给程序员使用的,用来重置对列使用的)
QOS_CLASS_UTILITY 0x11,实用工具(耗时操作,可以使用这个选项,但是慢的令人发指)
QOS_CLASS_BACKGROUND 0x09,后台
QOS_CLASS_UNSPECIFIED 0x00,未指定
iOS 7.0之前优先级
DISPATCH_QUEUE_PRIORITY_HIGH 2高优先级
DISPATCH_QUEUE_PRIORITY_DEFAULT 0默认优先级(一般使用这个)
DISPATCH_QUEUE_PRIORITY_LOW (-2)低优先级
DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN后台优先级
unsigned long flags:苹果官方文档是这样解释的:Flags that are reserved for future use。标记是为了未来使用保留的!所以这个参数应该永远指定为0
--------------提示-------------
为兼容ios7和ios8,全局并行队列为:
dispatch_queue_t q = dispatch_get_global_queue(0, 0);