dispatch_after延时执行

2020-07-06  本文已影响0人  Jean_Lina

dispatch_after函数并不是在指定时间之后才开始执行处理,而是在指定时间之后将任务追加到主队列中。

#pragma mark dispatch_after
- (void)gcd_dispatch_after {
    //打印当前线程
    NSLog(@"currentThread---%@",[NSThread currentThread]);
    NSLog(@"asyncMain---begin");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        //2.0秒后追加任务代码到主队列,并开始执行
        //打印当前线程
        NSLog(@"after---%@",[NSThread currentThread]);
    });
}
//Swift版本
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {        
}
屏幕快照 2020-07-06 上午11.40.14.png
上一篇 下一篇

猜你喜欢

热点阅读