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

作者: CC老师_HelloCoder | 来源:发表于2017-09-04 20:04 被阅读405次

    全局队列

    //全局队列
    -(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--全局队列优先级&服务质量

        本文链接:https://www.haomeiwen.com/subject/dzqrrxtx.html