GCD

原创 2016年08月29日 16:32:30

如何实现 不堵塞主线程的情况下,做大量的工作,最后所有的串行并行执行完成后再返回结果


dispatch_async(

                   dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

                   , ^{

                       NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];

                       

                       NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];

                       NSLog(@"files :%lu",(unsigned long)[files count]);

                       for (NSString *p in files) {

                           NSError *error;

                           NSString *path = [cachPath stringByAppendingPathComponent:p];

                           if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {

                               [[NSFileManager defaultManager] removeItemAtPath:path error:&error];

                           }

                       }

      [self performSelectorOnMainThread:@selector(clearCacheSuccess) withObject:nil waitUntilDone:YES];});//等待上面所有执行完成后再执行下一个方法




相关文章推荐

最大公约数GCD

  • 2013年07月22日 22:25
  • 283B
  • 下载

iOS多线程开发——GCD的使用与多线程开发浅析

我在前面的博客中《GCD实践——串行队列/并发队列与IOS多线程详解》中对iOS中的同步异步、串行并行做了较为详细的讲解。在之后的几篇GCD实践的博客中对GCD的使用也有较为详细的实现。但是我们要注意...

IOS_多线程-GCD的基本使用

  • 2015年05月31日 07:50
  • 424B
  • 下载

GCD_deom练习

  • 2013年06月18日 17:22
  • 477KB
  • 下载

iOS多线程--下(GCD)

1 GCD它是一种纯C语言,它是为多核并列运算设计的。可以自动管理线程的生命周期。 GCD 是面向任务和队列的,不是面向线程的。他有两个关键字“任务”“队列”。 使用 GCD 的步骤主要是: 1...

GCD资源竞争Demo

  • 2014年01月23日 21:05
  • 8KB
  • 下载

Behavioral GCD in Verilog

  • 2014年11月11日 23:44
  • 377B
  • 下载

经典算法(3)- 用二进制方法求两个整数的最大公约数(GCD)

二进制GCD算法基本原理是:  先用移位的方式对两个数除2,直到两个数不同时为偶数。然后将剩下的偶数(如果有的话)做同样的操作,这样做的原因是如果u和v中u为偶数,v为奇数,则有gcd(u,v)=g...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GCD
举报原因:
原因补充:

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