GCD定时器

1.单一定时器

dispatch_time_t timer = dispatch_time(DISPATCH_TIME_NOW, 1.0*NSEC_PER_SEC);
dispatch_after(timer, dispatch_get_main_queue(), ^{
    NSLog(@"GCD--%@",[NSThread currentThread]);
});

2.重复定时器

//1.声明timer
@property (nonatomic,strong)dispatch_source_t timer;

//2.加入gcc
dispatch_queue_t queue = dispatch_get_main_queue();
dispatch_source_t time = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
dispatch_source_set_timer(time, DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);

//3.要调用的任务
dispatch_source_set_event_handler(time, ^{
    NSLog(@"GCD-----%@",[NSThread currentThread]);
});

//4.开始执行
dispatch_resume(time);
self.timer = time;

你可能感兴趣的:(GCD定时器)