子线程开启定时器的两种办法

方法一

   dispatch_async(dispatch_get_global_queue(0, 0), ^{
       self.timer = [NSTimer timerWithTimeInterval:3 repeats:YES block:^(NSTimer * _Nonnull timer) {
   NSLog(@"定时器启动了 %@", [NSThread currentThread] );
        }];
        [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSDefaultRunLoopMode];
        [[NSRunLoop currentRunLoop] run];    
    });

方法二

  dispatch_async(dispatch_get_global_queue(0, 0), ^{
    // 开启子线程
       self.timer = [NSTimer scheduledTimerWithTimeInterval:6 repeats:YES block:^(NSTimer * _Nonnull timer) {
           NSLog(@"定时器启动了 %@", [NSThread currentThread] );

       }];
        [self.timer fire]; //需要立即执行
       [[NSRunLoop currentRunLoop] run];  // 调用子线程runLoop 
    }); 
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Baby_come_here/article/details/77552314
个人分类: 基础OC
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

子线程开启定时器的两种办法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭