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

    全局队列 全局队列(本质上并发队列) 全局队列参数分析参数1:涉及到系统适配;iOS 8:服务质量QOS_CLAS...

  • 小驴拉磨之iOS进阶-多线程(8)—— GCD 全局队列

    全局队列(本质上并发队列)在创建全局队列的时候需要两个参数优先级&服务质量 全局队列参数分析参数1:涉及到系统适配...

  • GCD研究02

    全局并发队列参数解析 获取全局并发队列 参数解析 参数1涉及系统适配 iOS 8.0 服务质量QOS_CLASS_...

  • GCD源码分析之全局线程优先级

    获取全局队列 获取全局队列时,系统对外提供了 5 个级别的优先级 DISPATCH_QUEUE_PRIORITY ...

  • 倒计时

    __block NSInteger second = self.second; //全局队列 默认优先级 dis...

  • iOS GCD使用dispatch_set_target_que

    dispatch_set_target_queue 我们发现获取全局队列时,可以设置队列的优先级,但是我们自己创建...

  • GCD子队列的优先级

    概述本篇来研究一下GCD中的子队列如何设置优先级。我们知道全局队列可以有四种优先级可以设置,而我们自己创建的队列并...

  • GCD会创建多少个线程

    关于GCD队列,系统队列编号有11个,1为主队列,2为管理队列,3保留;4-11为8个全局队列,优先级分别为LOW...

  • iOS - 串行队列

    背景:开发人员在需要开启线程处理任务时,大多都采用了全局队列默认优先级来处理,所以项目中积累了大量的全局队列默认优...

  • 《恋上数据结构与算法一》笔记(十七)优先级队列

    目录 优先级队列 优先级队列的应用场景举例 优先队列的底层实现 习题 一 优先级队列 优先级队列也是个队列,因此也...

网友评论

    本文标题: 08--全局队列优先级&服务质量

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