关于GCD的一些技巧笔记
来源:互联网 发布:如何做网络舆情监测员 编辑:程序博客网 时间:2024/06/07 02:39
利用串行队列的同步派发dispatch_sync将get、set方法实现的安排在同一个队列中可实现数据同步,在set方法中加入使用dispatch_async异步执行可以提升方法的执行速度,但有一个前提是要执行较为繁重的任务,如果是简单的任务可能反而改变之后会变慢,因为执行异步派发时需要拷贝。
如果使用并发队列则会更快一些,但是set方法如用使用异步执行则不能实现同步,这时候可以使用栅栏:
dispatch_barrier_sync(<#dispatch_queue_t _Nonnull queue#>, <#^(void)block#>)
dispatch_barrier_async(<#dispatch_queue_t _Nonnull queue#>, <#^(void)block#>)
栅栏的作用是当并发队列发现下面执行的块是一个栅栏块的时候,就会等待当前所有并发块都执行完毕之后才单独执行这个栅栏块。栅栏块必须单独执行,不能与其他块并行。等栅栏块执行完毕后在继续向下处理。同步与异步栅栏块同上面set方法中提升执行速度操作同理,可根据实际情况选用不同的派发机制。
阅读全文
0 0
- 关于GCD的一些技巧笔记
- 关于GCD的一些用法
- 关于GCD的一些总结
- 关于GCD的一些认识
- 关于GCD的一些函数
- 关于GCD的学习笔记
- 关于lcm,gcd的一些性质
- 关于GCD开发的一些事儿
- 关于GCD开发的一些事儿
- 关于GCD开发的一些事儿
- 关于GCD的一些宏定义
- 关于GCD开发的一些事儿
- 关于求最大公约数gcd的一些证明
- 编程技巧干货笔记 【关于一些运算符的效率】
- GCD,线程使用的一些笔记
- iOS多线程GCD的一些笔记
- 关于Firefox的一些技巧
- 关于css的一些技巧
- 电路图中的这个R285的作用
- linux下搭建git服务器
- MyCat 笔记-2017年12月22日
- unity编辑器拓展八——unity里面分离模型
- 设计模式学习笔记(三)- -装饰者模式
- 关于GCD的一些技巧笔记
- Android gradle和gradle插件配置
- java的日志方案分析
- ubuntu常用命令 -- 用于查找
- Android UI绘制 -- 滑动
- 知识学习——Java文档注释
- dubbo源码分析(二):超时原理以及应用场景
- Java内存区域和GC机制
- 为什么马氏距离是与尺度无关的