08--全局队列优先级&服务质量

全局队列

//全局队列
-(void)gcdDemo7{
    
    //全局队列
    /*
    参数1:涉及到系统适配;
    iOS 8:服务质量
    QOS_CLASS_USER_INTERATCTIVE 用户交互(比较高)
    QOS_CLASS_USER_INITIATED    用户需要(不要使用耗时操作)
    QOS_CLASS_DEFAULT           默认(给系统重置队列)
    QOS_CLASS_UTILITY             使用工具(用了做耗时操作)
    QOS_CLASS_BACKGROUND        后台执行
    QOS_CLASS_UNSPECIFIED       没有指定优先级  0
    
    iOS 7:调度优先级
     DISPATCH_QUEUE_PRIORITY_HIGH 2  高
     DISPATCH_QUEUE_PRIORITY_DEFAULT 0 默认
     DISPATCH_QUEUE_PRIORITY_LOW -2 低
     DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN 2 后台优先级
    
    在工作中,一般还是没有淘汰iOS 7;
    提示:尤其不要现在background,不管是优先级还是服务质量,线程的执行慢到令人发指!
    
    参数2:这是为未来使用的一个保留,现在始终为0;
    */
    
    dispatch_queue_t q = dispatch_get_global_queue(0,0);
    
    //循环添加10个任务,进入全局队列中
    for(int i = 0;i < 10;i++)
    {
        dispatch_async(q,^{
            NSLog(@"%@,%d",[NSThread currentThread],i);
        });
    }
    
    NSLog(@"come here");
    
}
  • 全局队列(本质上并发队列)

全局队列参数分析
参数1:涉及到系统适配
iOS 8:服务质量
QOS_CLASS_USER_INTERATCTIVE 用户交互(比较高)
QOS_CLASS_USER_INITIATED 用户需要(不要使用耗时操作)
QOS_CLASS_DEFAULT 默认(给系统重置队列)
QOS_CLASS_UTILITY 使用工具(用了做耗时操作)
QOS_CLASS_BACKGROUND 后台执行
QOS_CLASS_UNSPECIFIED 没有指定优先级 0

iOS 7:调度优先级
DISPATCH_QUEUE_PRIORITY_HIGH 2 高
DISPATCH_QUEUE_PRIORITY_DEFAULT 0 默认
DISPATCH_QUEUE_PRIORITY_LOW -2 低
DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN 2 后台优先级

在工作中,一般还是没有淘汰iOS 7;
提示:尤其不要现在background,不管是优先级还是服务质量,线程的执行慢到令人发指!
参数2:这是为未来使用的一个保留,现在始终未0

你可能感兴趣的:(08--全局队列优先级&服务质量)