美文网首页
NSInvocationOperation和NSBlockOpe

NSInvocationOperation和NSBlockOpe

作者: 鐧箪 | 来源:发表于2019-06-03 09:24 被阅读0次
    NSInvocationOperation
    NSInvocationOperation * op = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(invocation) object:nil];
        [op start];
    
    -(void)invocation {
        NSLog(@"线程 ------%@",[NSThread currentThread]);
        NSLog(@"open");
    }
    
    
    线程 ------<NSThread: 0x60000212cc80>{number = 1, name = main}
    open
    

    不具备开启线程的能力 顺序执行

    NSBlockOperation
    NSBlockOperation * opOne = [NSBlockOperation blockOperationWithBlock:^{
            NSLog(@"线程 ------%@",[NSThread currentThread]);
            NSLog(@"一号开始执行");
            
        }];
        [opOne addExecutionBlock:^{
            NSLog(@"线程1 ------%@",[NSThread currentThread]);
            NSLog(@"二号开始执行");
        }];
    
    线程1 ------<NSThread: 0x6000000f6ac0>{number = 3, name = (null)}
    线程 ------<NSThread: 0x6000000aca00>{number = 1, name = main}
    二号开始执行
    一号开始执行
    

    可以看出来 添加了 addExecutionBlock 具备开启子线程的能力 任务全部执行完毕 才会结束 开启多少子线程 由系统决定

    相关文章

      网友评论

          本文标题:NSInvocationOperation和NSBlockOpe

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