背景简介:
我们希望多个网络请求的结果都回来之后再做一些事情,那么dispatch_group做挺不错的.
dispatch_group_t相关属性介绍
1.dispatch_group_async(group, queue, block);
将block任务添加到queue队列,并被group组管理
2.dispatch_group_enter(group);
声明dispatch_group_enter(group)下面的任务由group组管理,group组的任务数+1
3.dispatch_group_leave(group);
相应的任务执行完成,group组的任务数-1
4.dispatch_group_create();
创建一个group组
5.dispatch_group_wait(group1, DISPATCH_TIME_FOREVER);
当前线程暂停,等待dispatch_group_wait(group1, DISPATCH_TIME_FOREVER)上面的任务执行完成后,线程才继续执行。
6.dispatch_group_notify(group1, queue1,block);
监听group组中任务的完成状态,当所有的任务都执行完成后,触发block块,执行总结性处理。
任务是同步的时候
16E91EED-3708-49E8-A12A-D474A3E17C1F.png任务是异步的时候
4B38460B-DCFF-4F98-8029-44AF065AACF0.png如何将异步任务变同步
这种方式一般就是解决多个网络请求的结果都回来之后再做一些事情的问题.
7406C433-AD06-42B1-B776-0DDCE3331429.png
网友评论