dispatch_group_async可以让一个大的任务,让多个异步线程去完成,并在所有的异步线程完成后进行其他数据的处理。
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, ^{
NSLog(@"task1");
});
dispatch_group_async(group, queue, ^{
NSLog(@"task2");
});
dispatch_group_async(group, queue, ^{
NSLog(@"task3");
});
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
NSLog(@"success");
});