(十)iOS开发之多线程—GCD定时器

1.创建定时器

//创建Timer

self.timer=dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,0,0,dispatch_get_main_queue());

//设置定时器的触发时间(1秒后)和时间间隔(每隔2秒)

dispatch_source_set_timer(self.timer,dispatch_time(DISPATCH_TIME_NOW,1*NSEC_PER_SEC),2*NSEC_PER_SEC,0);

//设置回调

dispatch_source_set_event_handler(self.timer, ^{

NSLog(@"Timer %@", [NSThreadcurrentThread]);

});

//开始定时器

dispatch_resume(self.timer);

2.取消定时器

dispatch_cancel(self.timer);

self.timer=nil;

注意:GCD定时器不用加入RunLoop

Dome:

https://github.com/tangbinbinM/iOS-GCD-.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS 多线程系列 -- 基础概述iOS 多线程系列 -- pthreadiOS 多线程系列 -- NSThrea...
    shannoon阅读 1,603评论 0 5
  • 目录(GCD): 关键词 混淆点 场景应用 总结 1. 关键词 线程概念: 独立执行的代码段,一个线程同时间只能执...
    Ryan___阅读 1,290评论 0 3
  • 一. NSTimer NSTimer的初始化方法有以下几种: 会自动启动, 并加入* MainRunloop*的*...
    codeshow阅读 525评论 0 0
  • GCD笔记 总结一下多线程部分,最强大的无疑是GCD,那么先从这一块部分讲起. Dispatch Queue的种类...
    jins_1990阅读 783评论 0 1
  • 今天上证暴涨2.44%,红的分外妖娆,大家的盘面估计都挺好看。毕竟这么长时间了,3000点左右上上下下晃悠,赚不了...
    冷锋刀语阅读 648评论 0 0