#import "ViewController.h"
@interface ViewController ()
@property (nonatomic,strong)dispatch_source_t timer;
@end
@implementation ViewController
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//创建GCD定时器
/*参数1:source类型 DISPATCH_SOURCE_TYPE_TIMER表示是一个定时器
参数2:描述信息。线程ID
参数3:更详细的描述信息
参数4:队列,决定GCD的定时器在哪个线程里面执行
*/
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(0, 0));
//2.设置定时器(起始时间 间隔时间 精准度)
/*
参数一:定时器对象
参数一:其实时间,DISPATCH_TIME_NOW 从现在开始
参数一:间隔时间 2.0 GCD中的时间参数是纳秒
参数一:精准度 绝对精准0
*/
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 2.0 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);
//3.设置定时器执行的任务
/*
*/
dispatch_source_set_event_handler(timer, ^{
NSLog(@"-----%@",[NSThread currentThread]);
});
//4.启动执行
dispatch_resume(timer);
self.timer=timer;
}
GCD定时器示例代码
最新推荐文章于 2021-04-13 17:33:41 发布