美文网首页
多线程&&Runloop

多线程&&Runloop

作者: 抹不掉那伤1 | 来源:发表于2018-05-24 15:14 被阅读0次

2018-05-24

保持线程生命的方法

要让线程有不释放,只能让线程有执行不完的任务

NSThread * thread = [[NSThread alloc] initWithBlock:^{
        NSTimer * timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(timerMethod) userInfo:nil repeats:YES];
        [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
        while (!_finished) {
            [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.0001]];
        }
        NSLog(@"线程结束");
        
    }];
    
    [thread start];

只要上面的_finished变量为NO线程就不会死。

线程间的通讯

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSThread * thread = [[NSThread alloc] initWithBlock:^{
        
        NSLog(@"%@-----",[NSThread currentThread]);
        
        [[NSRunLoop currentRunLoop] run];
        
    }];
    
    [thread start];
    
    
    [self performSelector:@selector(otherMethod) onThread:thread withObject:nil waitUntilDone:NO];
    
}

-(void)otherMethod{
    NSLog(@"OtherMethod --- %@",[NSThread currentThread]);
}

上面的代码中如果没有[[NSRunLoop currentRunLoop] run];otherMethod方法是不会掉用的。

我的理解

performSelector: onThread: withObject: waitUntilDone:方法的作用是使对应线程的Runloop中的source产生一个事件。当Runloop查看source是否有事件产生时便会执行对应的方法。所以必须让对应线程的Runloop方法跑起来。

相关文章

  • GeekBand - iOS 多线程和RunLoop 总结

    iOS 开发高级进阶 第三周 多线程 Runloop iOS 多线程以及 RunLoop 学习总结 基础知识 什么...

  • iOS 多线程:『RunLoop』详尽总结

    本文用来介绍 iOS 多线程中,RunLoop 的相关知识。主要包括如下内容:RunLoop 简介RunLoop ...

  • RunLoop的使用

    RunLoop是什么? 它有什么作用?Runloop和多线程又是什么关系?timer 与 Runloop 有什么关...

  • RunLoop初探,满足项目的基本应用

    iOS开发肯定离不开多线程编程,而多线程又跟RunLoop有着密切的关系,这篇文章就来解剖下RunLoop。 每个...

  • ios面试题

    runtime介绍 runLoop与多线程关系 多线程原理(GCD、NSOperation) AFNetworki...

  • RunLoop

    iOS刨根问底-深入理解RunLoop runloop 和线程有什么关系 iOS 多线程:RunLoop详细总结

  • RunLoop其实没有我们想的那么难

    目录一、纯纯的RunLoop(上小菜)二、RunLoop与多线程相结合使用(上大菜) 一、纯纯的RunLoop(上...

  • RunLoop

    1.Runloop基础知识 (RunLoop可以理解为就是为多线程而存在的) 1.1 RunLoop基本概念:运行...

  • RunLoop

    概念 数据结构 事件循环机制 RunLoop 与 NSTimer RunLoop 与多线程 一、概念 RunLoo...

  • 多线程网络总结/runloop图解

    1.多线程总结图: 2.runloop图解:

网友评论

      本文标题:多线程&&Runloop

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