多线程上传多张图片统一处理结果

多线程上传多张图片统一处理结果

同时上传多张图片到图片服务器,拿到返回id后再统一做处理

dispatch_group_t group = dispatch_group_create();    

 dispatch_group_enter(group);
NSLog(@"dispatch_group_enter Q 1");
// 图片并行执行的线程一
[[DataEngine sharedInstance] uploadAvatarImage:self
                                         image:_uploadImage
                                    onComplete:
 ^(NSDictionary *sourceDic, NSInteger errorCode, NSString *errorMsg, BOOL hasMore, id otherData) {
     
     if (errorCode == RequestErrorCodeSuccess) {
         NSString * url = [sourceDic stringForKey:@"localUrl"];
         weakself.uploadUrl = url;
         DDLogWarn(@" 第一张 //上传成功 %@",url);
     }
     dispatch_group_leave(group);
 }];
 
 // 图片并行执行的线程二
 ...

dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
}

dispatch_group_enter(group)dispatch_group_leave(group)可以很好的控制处理时机,在网络请求本身异步的情况下

想要使用dispatch_group_notify必须处理好网络请求的block着陆点才有效果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NSThread 第一种:通过NSThread的对象方法 NSThread *thread = [[NSThrea...
    攻城狮GG阅读 4,292评论 0 3
  • 目录: (一)线程与进程之间的区别 (二)为什么需要学习多线程 (三)多线程任务执行方式 (四)多线程执行的...
    KingLionsFrank阅读 4,170评论 6 6
  • 通过这篇文章,再熟悉一下多线程,这里主要是根据自己的理解,来介绍一下多线程 iOS有三种多线程编程的技术,分别是:...
    pengmengli阅读 2,224评论 0 0
  • 小儿已过百天,不知不觉开始掉头发,老人们都说,这是娃开始认娘了,真的吗?好像小不点儿看见我和别人不一样,难道当娘的...
    桂花飘香的季节阅读 2,784评论 0 0
  • 1,做公益培训,从人群中筛选出一些优质的用户来培养。 2,分10个组,每个组 28个人,这些人现在成长的不错 3,...
    谌基平阅读 1,865评论 0 0