GCD实现等待多个异步任务完成

开发过程中可能需要实现多个异步任务完成后再执行下一步任务,GCD实现如下:

dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
//任务A
dispatch_group_leave(group);

dispatch_group_enter(group);
//任务B
dispatch_after(10, dispatch_get_main_queue(), ^{
            dispatch_group_leave(group);
        });

dispatch_group_enter(group);
//任务C
dispatch_after(2, dispatch_get_main_queue(), ^{
            dispatch_group_leave(group);
        });

dispatch_group_notify(group, dispatch_get_main_queue(), ^(){
       // 任务A、B、C完成后再执行
    });

你可能感兴趣的:(GCD实现等待多个异步任务完成)