常驻线程


#import "ViewController.h"

@interface ViewController ()

/**
 *  常驻线程
 */
@property(strong,nonatomic) NSThread * myThread;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self creatMyThread];
    
}

#pragma mark - System Method

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [self performSelector:@selector(runTwo) onThread:self.myThread withObject:nil waitUntilDone:NO];
}

- (void)runTwo
{
    NSLog(@"Run_Two");
    NSLog(@"常驻线程任务执行中");
}


#pragma mark - Private Method

/**
 *  创建并且开启常驻线程
 */
- (void)creatMyThread
{
    self.myThread = [[NSThread alloc]initWithTarget:self selector:@selector(runOne) object:nil];
    
    [self.myThread start];
}

- (void)runOne
{
    // 获取RunLoop (获取时创建RunLoop)
    [[NSRunLoop currentRunLoop] addPort:[NSPort port] forMode:NSDefaultRunLoopMode];
    [[NSRunLoop currentRunLoop] run];
    
    NSLog(@"RunLoop");
}

@end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • .线程先来看看 NSURLConnection 发送请求时的线程情况,NSURLConnection 是被设计成异...
    怎样m阅读 1,228评论 0 0
  • 假如,我们需要在一个子线程中执行多个任务,但是,多个任务又不是连续的。这时就需要我们在开启一条子线程后,一直保持线...
    037e3257fa3b阅读 659评论 0 1
  • 主线程不死是因为主线程里面有一个RunLoop,RunLoop里面有一个do while死循环,保证了程序的不退出...
    只为此心无垠阅读 338评论 0 0
  • 在开发中,经常遇到的便是开启一个线程,当线程的任务完成,该线程便会被自动收回。但是如果我们需要一个线程一直存在,等...
    冰三尺阅读 149评论 0 0
  • 三闾大夫额头上那一抹巍峨 被水面 映出一座山的高度 你站在山顶 衡量汨罗的浅深 那一卷离骚 摊开如最后的夕阳 淹没...
    萤火坠处阅读 226评论 0 0