GCD应用拓展

原创 2015年11月17日 15:43:59

多线程(3) - ios关于线程调度的三种方式之GCD

  一,  队列的选择技巧

    1,串行队列异步执行:开一条线程,顺序执行,效率不高,执行比较慢,资源占用小,省电。使用场合:一般网络是3g,对性能要求不高,

    2,并发队列异步执行:开启多条线程,并发执行,效率高,消耗资源大,费电。使用场合:网络是WiFi,要求用户体验非常流畅。对任务的顺序没有要求。

    3,同步任务的使用场合:一般只会在并发队列,需要阻塞后续的任务,必须等待同步任务执行完毕,然后再去执行。

   

二,GCD常见的应用拓展

1, 队列之间的通信:

    dispatch_async(dispatch_get_global_queue(0, 0), ^{

        NSURL * url = [NSURL URLWithString:@""];

        NSData * data = [NSData dataWithContentsOfURL:url];

        UIImage * image = [UIImage imageWithData:data];;

        dispatch_async(dispatch_get_main_queue(), ^{

            self.image.image = image;

        });

    });

    2,延时操作:dispatch_after(延时多久,队列,操作)

   3, 调度分组:应用场景,开发的时候有时候出现多个网络请求,都完成以后,在给用户一个通知,或者说刷新UI。但因为每个网络请求的执行时间不一定,这时候就可以使用调度调度分组了。

        调度组可以跨队列通信。


版权声明:本文为博主原创文章,需要转载的,请先联系我

HUST 1588 辗转数对【Gcd拓展应用+思维+暴力枚举】

1588 - 辗转数对 Time Limit: 1s Memory Limit: 128MB Submissions: 153 Solved: 26 DESCRIPTIO...

GCD 多线程的简单应用

1、进程就是运行的程序,程序是运行在内存中的,负责分配内存的 2、线程是负责程序中代码的实际运行的,一个进程至少有一个线程(主线程) 3、创建线程的目的就是为了开启一条新的执行路径,运行指定代码,...

BZOJ 2818: Gcd区间内最大公约数 为素数的对数(欧拉函数的应用)

传送门 2818: GcdTime Limit: 10 Sec Memory Limit: 256 MB Submit: 3649 Solved: 1605 [Submit][Status]...

GCD的基本介绍及常见用法和应用场景

GCD的基本介绍及常见用法和应用场景 队列和任务初学GCD的时候,肯定会纠结一些看似很关键但却毫无意义的问题。比如:GCD和线程到底什么关系;异步任务到底在哪个线程工作;队列到底是个什么东西;mian...

IOS开发(50)之GCD的一些小应用

>>>>>>>>iOS中的多线程有以下几个办法 1.performSelector(InBackground or MainThread) 这个方法比较方便,但是问题在于参数传递只能支持一个对象(...

Extended_gcd应用之求逆元

下面来看看逆元的定义的用处: 比如:如果(a * b)% mod == 1 ,那么的话a  和 b 互为逆元,已知 a,和 mod 就能求出a的逆元,相同地,已知b和mod就能求出b的逆元b了,不...

gcd欧几里德算法/extgcd扩展欧几里德算法以及在解不定方程中的应用

这个应该是我在noip前就应该会的东西 ,但是当时也许只是记下了代码吧 ,现在有诸多的不理解。后来借着书和几篇博客弄懂了并小证了一下,鉴于网上有些博客关于这个的写的真的不好看,所以自己来总结一下,顺带...
  • DareXK
  • DareXK
  • 2017年03月19日 21:10
  • 285

GCD 和 NSOperation 区别及各自应用场景

GCD 相关介绍已经介绍过,点击查看,NSOperation相关介绍
  • Setoge
  • Setoge
  • 2016年08月06日 08:57
  • 1164

iOS 开发 多线程详解之GCD应用延迟操作,单例设计模式,调度组

GCD延时操作特点:时间特别精确- (void)afterDemo { NSLog(@"start"); /* 参数1 : dispatch_time_t when : 延迟多...

Codeforces Round #323 (Div. 1) A. GCD Table stl应用

A. GCD Table time limit per test2 seconds memory limit per test256 megabytes inputstandard input ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GCD应用拓展
举报原因:
原因补充:

(最多只允许输入30个字)