GCD定时器

GCD定时器会自己开启一条子线程,子线程也会自己开启runloop,自己创建管理,所以需要高精度计时时,用GCD计时器。一般情况NSTimer即可。

   // 创建定时器对象 1、source类型 4、在哪个线程中执行
    dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));
    // 设置定时器 1、定时器对象 2、开始时间 3、间隔时间,单位:纳秒 4、允许误差
    dispatch_source_set_timer(timer, dispatch_walltime(NULL, 0), 10.0 * NSEC_PER_SEC, 0);
    // 定时执行的任务 
    dispatch_source_set_event_handler(timer, ^{
        NSLog(@"GCD timer test");
    });
    // 恢复(默认是停止的)
    dispatch_resume(timer);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近看了一下 iOS 的定时器的使用,我们来模拟一个发送短信验证码时候的等待计时动画 要想了解定时器,首先需要了解...
    TomatosX阅读 1,158评论 0 0
  • 定时器的实现: GCD定时器优缺点: 1.它不需要显示的停掉定时器,由系统帮助我们处理。不需要考虑内存泄露问题。 ...
    frankisbaby阅读 140评论 0 0
  • 定时器分为三种:1、NSTimer 2、CADisplayLink 3、GCD实现 今天着重学习一下GCD中...
    这个夏天有点冷阅读 1,009评论 0 0
  • 在开发过程中,对于定时器相信大家都不陌生,在http://www.jianshu.com/p/0194a08668...
    落雪无痕_t阅读 838评论 0 5
  • Timer的缺点 缺点1Timer的创建与撤销必须在同一个线程操作,在多线程环境下使用不便. 缺点2使用时必须保证...
    DrEnhart阅读 5,479评论 0 11