美文网首页
队列组dispatch_group的使用

队列组dispatch_group的使用

作者: 邓布利多教授 | 来源:发表于2019-03-11 10:12 被阅读0次

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");

相关文章

网友评论

      本文标题:队列组dispatch_group的使用

      本文链接:https://www.haomeiwen.com/subject/ttfspqtx.html