美文网首页
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