iOS GCD知识点

214 阅读1分钟

QOS的所有类型 或者常说的【队列优先级】所有类型

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                 QOS_CLASS_USER_INITIATED 高优先级
     DISPATCH_QUEUE_PRIORITY_DEFAULT 0              QOS_CLASS_DEFAULT 默认优先级
     DISPATCH_QUEUE_PRIORITY_LOW (-2)               QOS_CLASS_UTILITY 低优先级
     DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN  QOS_CLASS_BACKGROUND 后台优先级

补充:

  1. iOS8之后的枚举类型可以在 qos.h中查看,里面有对每个枚举的官方说明
  2. 全局队列优先级类别 只包含 qos中的 前5个。 QOS_CLASS_UNSPECIFIED 并不在全局队列的优先级中。
  3. QOS (quality of service)直译是服务质量