三种常见的延时执行方式
- GCD
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(多少秒 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 需要延时执行的任务
});
方便灵活,可以
随意使用
。performSelector方法族
[self performSelector:@selector(workPostponed:) withObject:nil afterDelay:多少秒];
当前线程必需启动
run loop
。NSThread
[NSThread sleepForTimeInterval:多少秒];
- 延迟期间,当前线程被
阻塞
。