dispatch_group_t:队列组
dispatch_group_enter和dispatch_group_leave:
结合使用,意思相当于有进就有出,功能等同于dispatch_group_sync
dispatch_group_notify:
调动队列组到指定线程执行任务。
NSLog(@"begin");
/*
创建队列组
*/
dispatch_group_t group = dispatch_group_create();
/*
异步执行并发队列
*/
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"1111");
});
/*
任务执行完毕,回到主线程
*/
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
NSLog(@"end");
});
dispatch_group_wait:
暂停当前线程(阻塞当前线程)。
NSLog(@"begin");
/*
创建队列组
*/
dispatch_group_t group = dispatch_group_create();
/*
异步执行并发队列
*/
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"1111");
});
/*
等待上面的任务全部完成后,会往下继续执行
*/
dispatch_group_wait(group, DISPATCH_TIME_FOREVER);
NSLog(@"end");