关于GCD的使用

在iOS开发中,对于多线程,大多数开发者使用苹果提供的简单的GCD,

频繁的使用GCD,并发队列并不会去管理最大并发数,无限制提交任务给并发队列,会给性能带来问题。

for循环中使用block,并且需要block执行完成后继续执行后续代码

dispatch_group_t group = dispatch_group_create();
for (UIImage *image in imageArray) {
                    dispatch_group_enter(group);
[image_   jkr_fastCompressToDataLength:500000 withBlock:^(NSData *data) {
  dispatch_group_leave(group);
}];
}

dispatch_group_notify(group, dispatch_get_main_queue(), ^{
                NSDictionary *args = @{@"success":@true,
                                       @"error":@"",
                                       @"data":baseList};
                [self.jsBridge postNotificationJavaScript:[self returnResult:self.callbackMap[@"device.selectPhotos"] args:args] toWebView:self.webView];
            });

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏杂谈

IOS判断用户的网络类型(2/3/4G、wifi)

直接贴代码吧,ios7之后是获取的较为准确,7以下我拿iphone5测试的是无法区分3g/2g。连iphone4都能升到7.1.4,而且目前主流的设备7以下的系...

1062
来自专栏友弟技术工作室

爬虫的"盗亦有道"-Robots协议

网络爬虫的君子协议 ? 执着 网络爬虫的尺寸 小规模,数量小,爬去速度不敏感,requests库 中规模,数据规模较大,爬取速度敏感scrapy库 大规模...

46413
来自专栏每日一篇技术文章

VR+全景播放器+头控讲解-03

961
来自专栏岑志军的专栏

iOS广告启动页

1945
来自专栏FreeBuf

极客DIY:使用Arduino制作一块开源手表

1 - 引言 首先让我们看下这个项目要考虑到的问题: 1.)使用100%Arduino兼容性硬件 2.)保证存储器足够大可以装下大量的稍后会扩展的新内容 ...

2316
来自专栏一“技”之长

iOS开发之Accounts框架详解 原

    Accounts框架是iOS原生提供的一套账户管理框架,其支持Facebook,新浪微博,腾讯微博,Twitter和领英账户管理的功能。需要注意,在iO...

741
来自专栏進无尽的文章

聊聊基于MVP 模式下的软件设计

MVC的缺点在于并没有区分业务逻辑和业务展示, 这对单元测试很不友好,不光不利于单元测试而且不利于代码的阅读和维护,眉毛胡子一把抓是后续难以维护的症结所在。

1171
来自专栏Python攻城狮

Django实战(二)- 创建一个课程选择系统1.需求2.代码操作

1503
来自专栏移动端开发

iOS Plist 文件的 增 删 改

一:Plist 文件的创建      Plist 文件作为我们IOS开发的一种数据存储文件,还是经常会用到的。在看《X-code江湖录》的时候,看到了这一点。自...

20210
来自专栏程序员笔记

从头开始写一个 Chrome 插件

1695

扫码关注云+社区