dispatch_group_async

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_group_t group = dispatch_group_create();
    
    dispatch_group_async(group, queue, ^{
        [NSThread sleepForTimeInterval:1];
        [self group1];
    });
    dispatch_group_async(group, queue, ^{
        [NSThread sleepForTimeInterval:5];
        [self group2];
    });
    dispatch_group_async(group, queue, ^{
        [NSThread sleepForTimeInterval:10];
        [self group3];
    });
    dispatch_group_notify(group, dispatch_get_main_queue(), ^{
        NSLog(@"updateUi"); 
    }); 
    dispatch_release(group);
}

- (void)group1
{
    NSLog(@"%s", __FUNCTION__);
}

- (void)group2
{
    NSLog(@"%s",__FUNCTION__);
}

- (void)group3
{
    NSLog(@"%s",__FUNCTION__);
}
原文地址:https://www.cnblogs.com/joesen/p/3782164.html