美文网首页
线程常驻内存

线程常驻内存

作者: 似奔跑的野马 | 来源:发表于2017-06-06 14:35 被阅读0次

iOS开发中,新创建的线程,执行完成后会销毁,如何让线程常驻内存

- (void)creadResidentThread
{
        _listenThread = [[NSThread alloc] initWithTarget:self selector:@selector(listening) object:nil];
        [_listenThread start];
}

- (void)listening
{
    @autoreleasepool {
        [[NSThread currentThread] setName:@"listeningThread"];
        NSRunLoop *runloop = [NSRunLoop currentRunLoop];
//加入timer/port保证线程不会没有源而退出
        [runloop addPort:[[NSPort alloc] init] forMode:NSDefaultRunLoopMode];
//默认线程的runloop没有启动,需要手动启动
        [runloop run];
    }
}

//调用
[self performSelector:@selector(test) onThread:self.listenThread withObject:nil waitUntilDone:NO];

使用场景

  • 随时监听某些状态改变,如监听网络状态

相关文章

  • 线程常驻内存

    iOS开发中,新创建的线程,执行完成后会销毁,如何让线程常驻内存 使用场景 随时监听某些状态改变,如监听网络状态

  • 注意iOS开发中多线程的坑

    常驻线程 线程过多占内存、耗CPU 开辟的每个线程都会占用内存(主线程1M,其他线程512KB)CPU需要在多个线...

  • 实现后台常驻线程

    添加一条用于常驻内存的强引用的子线程,在该线程的RunLoop下添加一个Sources,开启RunLoop。

  • 浏览器和主引擎

    浏览器是多线程,js是异步单线程 ps:常驻线程一直存在,一直在待命。非常驻线程有需求的时候线程才会工作。 常驻线...

  • 常驻线程

    模仿曾经的AFN常驻线程写法,现在的YY的写法也是如此 使用performSelector: onThread:简...

  • 常驻线程

  • 常驻线程

    当创建一个线程,并且希望它一直存在时,但往往我们创建的线程都是执行完成之后也就停止了,不能再次利用,那么如何创建一...

  • AFNetworking3.0后为什么不再需要常驻线程?

    AFNetworking3.0后为什么不再需要常驻线程? AFNetworking3.0后为什么不再需要常驻线程?

  • iOS 多线程面试题(NSThread+runloop实现常驻线

    NSThread+runloop实现常驻线程 NSThread在实际开发中比较常用到的场景就是去实现常驻线程。 由...

  • 线程池几个重要参数

    corePoolSize 线程池中常驻线程核心线程数 maximumPoolSize 线程池中同时容纳可执行的线程...

网友评论

      本文标题:线程常驻内存

      本文链接:https://www.haomeiwen.com/subject/lgwgfxtx.html