美文网首页
GCD组的使用

GCD组的使用

作者: 细雨听风 | 来源:发表于2017-01-03 09:14 被阅读10次

    当需要等某几个网络请求提交之后再做某事

    /**
     GCDgroup
     */
    - (void)GCDgroup
    {
    dispatch_group_t group = dispatch_group_create();
    dispatch_queue_t queue = dispatch_queue_create(0, 0);
    
    NSMutableArray *arr = [NSMutableArray array];
    
    for (int i = 0; i < 10; i++) {
        arr[i] = [NSString stringWithFormat:@"%d",i];
    }
    
    for (int i = 0; i < 10; i++) {
        dispatch_group_async(group, queue, ^{
            
            if (i == 5) {
                [NSThread sleepForTimeInterval:3.0];
                EKNSLog(@"第%d个上传任务,等待3秒",i);
                
            } else {
                EKNSLog(@"第%d个上传任务",i);
                [arr removeObjectAtIndex:10-(i+1)];
            }
        });
    }
    
    
    dispatch_group_notify(group, queue, ^{
    //        EKNSLog(@"全部上传完了");
        
        for (int i = 0; i < arr.count; i++) {
            EKNSLog(@"%@",arr[i]);
        }
        
    });
    
      EKNSLog(@"----");
    }

    相关文章

      网友评论

          本文标题:GCD组的使用

          本文链接:https://www.haomeiwen.com/subject/qpmgvttx.html