开发中会遇到这样的需求,一个页面多个执行(多个方法),当所有方法执行完毕 再开起下一个任务。这个时候采用dispatch_group 是最合适的。
//使用默认的并行队列 queue可以是自定义的队列
//dispatch_queue_t dispatchQueue =
//dispatch_queue_create("ted.queue.next1", DISPATCH_QUEUE_CONCURRENT);
dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group, queue, ^{
//任务1
});
dispatch_group_async(group, queue, ^{
//任务2
});
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
// 任务1、 任务2 都完成以后 统一回调 执行某个方法
});
网友评论