关于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 条评论
登录 后参与评论

相关文章

来自专栏Android 开发者

[译] 在 Android P 中使用默认的 TLS 来保护你的用户

1923
来自专栏运维一切

mfs挂载失去连接问题 原

我在系统上部署了一个web应用,这个应用使用了mfs挂载使用静态资源,但是每次就突然进程没了,挂载点重新挂载又可以了。经查发现居然是因为我分派的内存太小,fpm...

642
来自专栏北京马哥教育

Nginx动静分离实现负载均衡

使用Debian环境。安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等。

760
来自专栏编程坑太多

『中级篇』容器网络之host和none(29)

PS : none 和host的网络基本也讲解完成了,他们各有利弊,其实用到最多的还是bridage,了解他们的之间的区别。

893
来自专栏ShaoYL

iOS 蓝牙的GameKit用法

2675
来自专栏坚毅的PHP

收集一下用过的linux os

2011-11-09 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat...

3445
来自专栏北京马哥教育

超清晰的 DNS 原理入门指南

来源:阮一峰的网络日志 作者:阮一峰 链接:http://www.ruanyifeng.com/blog/2016/06/dns.html DNS 是互联网核...

3095
来自专栏阮一峰的网络日志

DNS 原理入门

DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。 本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读...

4928
来自专栏Java学习123

IBM WebSphere MQ 系列(三)配置和使用WebSphere MQ

4979
来自专栏bboysoul

使用docker-machine在vmware vsphere上创建docker虚拟机

这个其实没什么好说的,我就是为了记录一下创建的过程,如果不会使用docker-machine。

602

扫码关注云+社区