多线程NSInvocation+队列NSOperationQueue+NSBlockOperation

1 队列开启多线程的方法

    NSOperationQueue * queue=[[NSOperationQueue alloc]init];

    1> 采用NSInvocation的子类NSInvocationOperation开启多线程
    NSInvocationOperation * nvo=[[NSInvocationOperation alloc]initWithTarget:self selector:@selector(show) object:nil];
    [queue addOperation:nvo];

    2>采用NSBlockOperation开启多线程
    NSBlockOperation * block=[NSBlockOperation blockOperationWithBlock:^{
    NSLog(@"***block****%d",[NSThread isMainThread]);
    }];
    [queue addOperation:block];

    3>采用队列
    [queue addOperationWithBlock:^{
         NSLog(@"***queue创建**");
    }];

2 主队列

    1> 子线程里面开辟子线程--并行,互不影响
      NSBlockOperation * block=[NSBlockOperation blockOperationWithBlock:^{
        [NSThread sleepForTimeInterval:3];
        NSLog(@"------0");
    }];
    [block addExecutionBlock:^{
        [NSThread sleepForTimeInterval:2];
        NSLog(@"------1");
    }];

    2> 主队列初始化
     NSOperationQueue * mainQueue=[NSOperationQueue mainQueue];
    [mainQueue addOperationWithBlock:^{
       NSLog(@"---主队列---%d",[NSThread isMainThread]);
    }];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值