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

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

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

同时上传多张图片到图片服务器,拿到返回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着陆点才有效果

你可能感兴趣的:(多线程上传多张图片统一处理结果)