dispatch_group
来源:互联网 发布:sql注入的防御 编辑:程序博客网 时间:2024/06/05 00:52
把一组任务提交到队列中,这些队列可以不相关,然后坚挺这组任务完成的事件。
几个用到的函数
1、dispatch_group_create创建一个调度任务组
func dispatch_group_create() -> dispatch_group_t!
2、dispatch_group_async 把一个任务异步提交到任务组里
func dispatch_group_async(_ group: dispatch_group_t!, _ queue: dispatch_queue_t!, _ block: dispatch_block_t!)
参数: group 提交到的任务组,这个任务组的对象会一直持续到任务组执行完毕
queue 提交到的队列,任务组里不同任务的队列可以不同
block 提交的任务
3、dispatch_group_enter/dispatch_group_leave
func dispatch_group_enter(_ group: dispatch_group_t!)func dispatch_group_leave(_ group: dispatch_group_t!)
这两个方法显示的讲任务组中的任务未执行完毕的任务数目加减1,这种方式用在不使用dispatch_group_async来提交任务,注意:这两个函数要配合使用,有enter要有leave,这样才能保证功能完整实现。也可以用这对函数来让一个闭包关联多个Group
4、dispatch_group_notify 用来监听任务组事件的执行完毕
func dispatch_group_notify(_ group: dispatch_group_t!, _ queue: dispatch_queue_t!, _ block: dispatch_block_t!)
参数: group监听的任务组
queue 执行完毕的这个闭包所在的队列
block 执行完毕所响应的任务
5、dispatch_group_wait 设置等待时间,在等待时间结束后,如果还没有执行完任务组,则返回。返回0代表执行成功,非0则执行失败
long dispatch_group_wait ( dispatch_group_t group, dispatch_time_t timeout );
0 0
- dispatch_group
- dispatch_group
- GCD(dispatch_group)
- GCD-dispatch_group
- GCD(四)dispatch_group
- GCD 学习(四) dispatch_group
- GCD 学习(四) dispatch_group
- GCD 第三篇 dispatch_group
- iOS dispatch_group的使用
- dispatch_group项目中使用
- 多线程并发控制dispatch_group
- GCD高级用法(二) dispatch_group
- iOS开发之GCD -- dispatch_group
- iOS开发:深入理解dispatch_group
- iOS系统GCD学习(3):dispatch_group
- iOS系统GCD学习(3):dispatch_group
- iOS系统GCD学习(3):dispatch_group
- iOS系统GCD学习(3):dispatch_group
- 欢迎使用CSDN-markdown编辑器
- Linux基础----用户(修改密码)和用户组
- Python学习笔记18:Python多线程编程
- 位示图用法的总结
- Hadoop词频统计(一)之集群模式运行
- dispatch_group
- Android之获取当前位置的经纬度
- 线程 —— 线程池简单介绍
- 整合storm-hdfs过程中源码学习
- xcode少有人知的宏定义
- 一个属性引发的血案:parent.$("iframe[title='供应商管理']").get(0).contentWindow
- 热血军团-vSyncCount
- EF基础知识概览
- C语言产生随机字符串