比NStimer准确的定时器(GCD)
来源:互联网 发布:淘宝账号登录首页 编辑:程序博客网 时间:2024/05/10 13:53
NSTimer受runloop的影响,由于runloop需要处理很多任务,导致NSTimer的精度降低,在日常开发中,如果我们需要对定时器的精度要求很高的话,可以考虑dispatch_source_t去实现 。dispatch_source_t精度很高,系统自动触发,系统级别的源。下面是通过dispatch_source_t 创建 计时器的例子
dispatch_source_t _timer;
dispatch_queue_t queue = dispatch_get_global_queue(0, 0); self.timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue); //开始时间 dispatch_time_t start = dispatch_time(DISPATCH_TIME_NOW, 3.0 * NSEC_PER_SEC); //间隔时间 uint64_t interval = 2.0 * NSEC_PER_SEC; dispatch_source_set_timer(self.timer, start, interval, 0); //设置回调 dispatch_source_set_event_handler(self.timer, ^{ NSLog(@"----self.timer---"); }); //启动timer dispatch_resume(self.timer);
阅读全文
0 0
- 比NStimer准确的定时器(GCD)
- GCD定时器替换NSTimer不准的问题
- GCD 定时器--与NSTimer比较
- ios NSTimer GCD定时器使用
- iOS小技巧 - 利用GCD创建更加准确的定时器
- iOS - 中三种定时器的用法NSTimer、CADisplayLink、GCD
- iOS - 中三种定时器的用法NSTimer、CADisplayLink、GCD
- NSTimer、CADisplayLink、GCD 三种定时器的用法
- iOS 中三种定时器的用法NSTimer、CADisplayLink、GCD
- iOS 中三种定时器的用法NSTimer、CADisplayLink、GCD
- NSTimer、CADisplayLink、GCD 三种定时器的用法
- NSTimer 不准时,使用GCD定时器代替的方法
- NSTimer、CADisplayLink、GCD 三种定时器的用法
- IOS的三种定时器 GCD CADisplayLink NSTimer
- NSTimer、CADisplayLink、GCD 三种定时器的用法
- iOS 中三种定时器的用法NSTimer、CADisplayLink、GCD
- NSTimer、CADisplayLink、GCD 三种定时器的用法
- iOS 中三种定时器的用法NSTimer、CADisplayLink、GCD
- Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器
- 几种使用itext生成pdf的方式
- yuv420P数据对AVFrame的赋值
- 网站备案需要注意
- UML---实现图(部署图和构件图)
- 比NStimer准确的定时器(GCD)
- 搜索旋转排序数组
- nmon使用笔记
- tomcat 启动不了
- Java多线程系列--“基础篇”10之 线程优先级和守护线程
- SQL查询一个表中类别字段中Max()最大值对应的记录
- C# 文件压缩下载
- CFileDialog使用总结
- swap-nodes-in-pairs