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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Baby_come_here/article/details/77552314

方法一

   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 
    }); 
阅读更多
想对作者说点什么?

博主推荐

换一批

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